1. One or 2 days before you plan to serve, trim the lamb of excess fat. Place the meat in a medium flameproof casserole and add 1 teaspoon salt, the spice mixture, saffron water, honey, grated onion and 1 tablespoon of the oil. Stir over low heat until the aroma of the spices is released, about 5 minutes: Do not brown the meat. Add the water, bring to a boil, and reduce the heat to low, cover and cook for 2 1/2 hours, or until the meat is almost falling off the bone.
2. Separate the cooking juices and the meat. When the meat is cool enough to handle, pull out and discard the bones and trim off any fat or gristle. Cut the meat into 1-inch chunks and transfer to a storage bowl; you should have about 4 cups of meat. Degrease the cooking juices. Return the cooking juices to the casserole and boil down to a glaze. Add one-half teaspoon salt, 1 tablespoon of the butter, the sliced onions and cinnamon stick; cover and cook, stirring occasionally, until the onions are soft and golden, about 45 minutes. Use a slotted spoon to transfer the onions to a storage dish. Discard the cinnamon stick. Boil down the liquid in the casserole to about three-fourths cup. Season with salt and pepper and remove from the heat, then add the liquid to the meat. Up to this point the recipe can be prepared up to 2 days in advance. Cool, cover and refrigerate the meat and onions.