Preheat the oven to 220°C. Lightly grease a small ovenproof dish with butter.
To make the stuffing, gently heat the butter and oil in a large frying pan over a moderate heat and cook the onion and celery for 10 minutes until soft. Remove from the heat and tip into a bowl. Stir in the breadcrumbs, herbs, beaten egg and salt and pepper, and mix well to bind the mixture together. Allow the stuffing to cool completely.
If they are present, remove the giblets and neck from the chicken, reserving the giblets to make a giblet stock, if you like. Rinse the chicken inside and out, then pat dry with paper towels.
Loosely stuff the chicken with half of the stuffing, pushing it well up inside to make a neat shape. Put the lemon quarters in the cavity and tie the legs together with kitchen string. Put the remaining stuffing in the buttered dish.
Place the chicken, breast side down, on a rack in a roasting tin. Pour about 250ml of water under the rack. (This creates steam and helps to keep the bird moist. It will also collect the juices that drip down during cooking and can be used for making the gravy.) Roast for 30 minutes.
Remove the roasting tin from the oven and gently turn the chicken over so its breast is facing up. Rub the oil over the breast, then season with salt and pepper. Reduce the oven temperature to 150°C. Roast the chicken for a further 1½ hours, basting every 20 minutes with the juices in the tin. Add the dish of stuffing to the oven when there is 30 minutes to go. To test if the chicken is ready, insert a skewer into the thickest part of the thigh – the juices should run clear.
Tip the bird up slightly so any lemony juices inside the cavity run into the tin. Remove the chicken from the tin, cover with foil and allow to stand in a warm place for about 10 minutes before carving. Keep the stuffing in a warm place.
Meanwhile, make the gravy. Gradually stir the roasting juices from the chicken into the flour paste, then pour the mixture into a saucepan over a moderate heat. Add the stock and wine or apple juice, then bring to the boil, stirring until smooth and thickened. Season, then pour into a gravy jug. Place the chicken on a large plate and serve with the stuffing, gravy and some wedges of lemon.