Remove the chicken giblets. Rinse the chicken inside and out.
Remove any excess fat and leftover feathers. Pat the outside dry.
Place the chicken in a large roasting pan. Liberally salt and pepper the inside of the chicken (use more than 1 tablespoon, if desired).
Stuff the cavity with the thyme (reserving some for garnish), 1 lemon halved and liberally pricked with a fork and 2 heads of the garlic.
Brush the outside of the chicken with the butter and sprinkle again with kosher salt and pepper.
Tie the legs together with kitchen string and tuck the wing tips under the chicken.
Cut 2 of the lemons in quarters and scatter the quarters and remaining garlic halves around the chichen. Lay the bacon strips over the chicken to cover (bacon can be eliminated).
Roast the chicken for 1 hour. Remove the bacon strips from the top of the chicken and set aside.
Continue roasting the chicken for another 30 minutes or until the juices run clear when you cut between the leg and a thigh. Remove to a platter and cover while you prepare the gravy.
Remove all but 2 tablespoons of the fat from the bottom of the pan. Add the wine and chicken stock and bring it to a boil on the stove on medium heat. Reduce the heat and simmer a few minutes or until the liquid is reduced by half.
Slice the chicken on the platter. Garnish the chicken platter with the bacon slices, roasted garlic, reserved thyme and 1 lemon, sliced. Serve with the gravy.