Preheat the oven to 350°. In a large skillet, heat the oil. Add 1 1/2 cups of the onion and cook over moderate heat, stirring occasionally, until lightly golden, 4 to 5 minutes. Stir in the garlic and cook until fragrant, about 1 minute. Add the guajillo puree, cumin and cinnamon and cook for 3 minutes, stirring frequently. Add the chicken and cook, breaking up the meat with a wooden spoon, until no trace of pink remains, about 5 minutes. Stir in the tomatoes, black beans, olives, raisins, vinegar, sugar and broth. Simmer, stirring occasionally, until the picadillo is thickened, 8 to 10 minutes. Season with salt, pepper and juice squeezed from the 2 lime halves.