Combine all marinade ingredients in a large shallow bowl. Rub into chicken pieces and marinate for 10 minutes. Heat olive oil in a large pot, add onion, garlic and bacon, sauté for 3-4 minutes, remove from the pot and set aside. Add chicken and cook for 3–4 minutes on each side until browned. Return onion, garlic and bacon to pot, add wine and stock and simmer for 50 minutes, partially covered. Remove chicken pieces from cooking liquid, set aside and keep warm. In a small bowl, mix together flour and butter until the mixture becomes firm and forms a small ball. Gently whisk butter mixture into cooking liquid, bring to the boil and continue whisking gently until liquid thickens and lightens. Return chicken to the liquid, add beans and baby tomatoes and simmer for 5 minutes until heated through. Serve chicken with couscous, rice or mashed potatoes.