Rinse and dry the chicken pieces and put them into a shallow glass dish.
Put the allspice, peppercorns, and cinnamon stick into a spice grinder and grind to a powder. To a full sized blender add the onion, peppers, scallions, garlic, scotch bonnet, thyme, lime juice, olive oil, butter, and ground spices. Blend to a puree; add some water if it is too thick. Pour this over the chicken, cover, and refrigerate for at least 4 hours or overnight. Remove the chicken from the refrigerator 1/2 hour before you cook it.
Heat the oven to 375 degrees F.
Put the remaining 3 tablespoons oil in a large, oven-proof saute pan over medium-high heat. Remove the chicken from the marinade and season it with salt. Brown the chicken on both sides, then place the pan in the oven and roast until the chicken is cooked through, about 20 minutes. Serve garnished with cilantro leaves.