Cook the stew. Heat the oil and reserved butter in a large, heavy-bottomed pot (I use my cast-iron cocotte) over medium heat. Add the meat without crowding (you may have to work in two batches) and cook for a few minutes on each side until browned. Set aside on a plate.
Pour in a little water to deglaze the bottom of the pot, add the onions, sprinkle with a little salt, and cook for a few minutes, until soft. Add the cinnamon, cardamom, and saffron, and cook for a minute to toast the spices. In the meantime, squeeze the juice from the lime and 2 of the oranges (one of them now naked).
Return the meat to the pot and sprinkle with salt and pepper. Pour in the citrus juices, and add a little water so the liquids almost cover the meat but not quite.
Turn the heat down to low, cover, and simmer for 1 1/2 hours, stirring every once in a while. Add the carrots 30 minutes before the end of the cooking. Segment the 2 remaining oranges and add the segments to the pot 10 minutes before the end of the cooking. Taste and adjust the seasoning.
Stir in the orange flower water at the last minute, and serve with basmati rice (I opted for brown basmati rice) and a sprinkle of candied orange peel, pistachios, and mint cut into strips -- I just passed these toppings around in small bowls for each guest to help himself.