To begin, flatten the chicken. To do this remove the backbone of the chicken by slicing down either side of the backbone with a sharp knife or sharp kitchen shears to remove it. Discard the backbone, and flatten the chicken, pushing down on the breast bone, and chicken's legs with the palm of your hand. In a ziplock bag (opened inside of a large bowl to keep it from spilling) combine all the rest of the ingredients to make the marinade.
Mix together the marinade, add in the butterfly chicken, and seal, taking care to remove as much air as possible. At this point, either marinade for several hours or up to 12 hours, or freeze for another day. If freezing, on the day you'd like to cook the chicken, remove it from the freezer in the morning and allow it to defrost in the ziplock bag as it marinades.
The best way to cook the flat chicken, is to use in-direct heat, by lighting one side of the grill, but placing the chicken on the opposite side of the grill. Place the whole bird out flat, skin side up, and discard any left over marinade. Cook for approximately one hour at medium heat, depending on the size of the chicken. Cook until the chicken has crisp skin and is golden brown, and the chicken reaches an internal temperature of 165 F. Test the temperature with a meat thermometer placed in a thick area of the chicken, like the breast meat, or the thickest part of the thigh. Avoid cooking at a high heat, which will cause the outside to burn before it's cooked through, and dry out the meat.
Let the whole roast chicken rest on a cutting board or baking sheet covered in aluminum foil for 10 minutes, before cutting into pieces and serving.