Melt butter in soup pot. Add onions and garlic. Saute for 5 minutes. Sprinkle in the flour and cook for 1 minute. Bring stock to a boil in separate pan and stir into the onions. Bring to a low boil, then add salt, pepper, coriander, fenugreek and red pepper. Simmer for 5 minutes. Remove from heat. In a bowl, whisk egg yolks and lemon juice together. Gradually whisk in 1 cup hot stock until completely smooth. Stir egg mixture back into the soup. Add saffron and chicken. Return the soup to the heat and simmer gently, uncovered, without letting it boil, until soup thickens about 5 minutes. Serve garnished with fresh herbs.