Preheat the oven to 350 degrees F. Grease a 2 quart glass rectangular pan with the butter. In a large saute pan, render the bacon until crispy, about 6 to 8 minutes. Add the onions and saute for 4 minutes, or until soft. Season the onions with pepper. Add the garlic and remove from the heat. In a mixing bowl, whisk the eggs, buttermilk and syrup together. Add the bacon mixture and stir well. Season the mixture with the hot sauce and Worcestershire sauce. Add the cornbread, salt and cheese. Mix well. Pour into the prepared pan. Bake until the pudding is golden brown and bubbly, about 55 minutes. Remove from the oven and cool for 5 minutes before serving.