In a large, deep pot, combine the meat, onions, clery, parsley, pepper, tumeric, cinnamon, ginger and butter. Stir over medium heat for 15 minutes until ingredients are well browned. Add the lentils or chickpeas along with about 6 cups of water. Stir, partially cover the pot, and simmer for an hour and a half. Puree the tomatoes. (Moroccans would also peel and seed them) Bruise the coriander leaves with a mortar and pestle. Dump them into the pot along with the tomatoes and simmer for another 15-20 minutes. Break vermicelli into inch-long pieces, then bring the mixture to a boil and stir in the noodles. Reduce heat slightly and cook for 2 or 3 minutes.
Meanwhile, dip out about half cup of the liquid and mix it with the flour to create a smooth paste. Using a wire whisk, quickly stir the flour paste into the soup. Cook for another few minutes until noodles are done, stirring constantly to prevent flour from forming lumps. The texture of the soup should be velvety; if necessary, add more water or more flour (being sure to make a paste before putting flour into the soup.) Serve with lemon wedges, which are to be squeezed into each portion at the table.
Variation: Instead of flour, thicken the soup with 2 eggs beaten with a couple of teaspoons of lemon juice. Stir them in just before serving, sfter removing the pot from the stove.