In a large nonstick skillet over medium heat, melt the 4 tablespoons of butter and cook the sausage, if using, until browned, stirring to break up the links, about 2 minutes. Add the onions and celery and cook until the vegetables are tender and the sausage is completely cooked, about 6 to 7 minutes.
Heat 1 cup chicken stock and set aside. In a large bowl, combine the sausage mixture, both types of bread, parsley, sage, and eggs and mix well. Add the heated stock and the salt and pepper and stir to combine well.
Heat oven to 350º.
Rinse the turkey well with cold water and pat dry. Rub the turkey all over with the oil or butter, then season liberally with salt and pepper. Set aside.
Place 1 tablespoon of flour in the oven bag and shake to distribute evenly. Set the bag aside in a roasting pan large enough to hold the turkey.
Stuff the turkey, neck area first, then the body. Carefully put the turkey in the bag. Close the bag with the enclosed tie and cut six 1/2-inch slits in the top. Roast the turkey in oven for 12 1/2 minutes per pound, or 2 1/2 hours for a 12-pound bird (the bag allows the turkey to cook faster than with regular roasting). To test for doneness, remove the turkey from the oven, open the bag, and insert a thermometer into the thickest part of the thigh. The turkey is done when the thermometer reads 180º. If the turkey is done, let rest for 15 minutes. Cut open the top of the bag, place the turkey on a platter, and set aside, Remove stuffing.
Pour the drippings and juices into a gravy separator, let them settle, then pour off the nonfatty liquids. Add enough stock to make 4 cups total liquid, then, in a medium saucepan over high heat, bring to a boil. Whisk together the remaining flour with 1/2 cup warm water until smooth and add to the boiling stock. Continue whisking until smooth and bubbling. Add the Madeira, reduce the heat, and simmer for 2 to 3 minutes. Adjust the seasoning to taste with salt and pepper.