Make The Roux: Melt butter in a small sauce pan over medium heat. After the butter is melted, whisk in the flour. Stir constantly until blended and the color turns blond. This will only take 2 - 3 minutes. Remove from heat.
For The Bechamel Sauce: Using a square of cheesecloth place the bay leaf, thyme and peppercorns in the middle. Pull up the edges and and make a satchel tying the top with twine.
Heat a medium-sized saucepan over medium high heat. Add oil. When oil is hot, add the chopped onions and cook until just translucent.
Deglaze the onions with the brandy, stirring. Cook off the brandy until you do not smell raw alcohol any longer.
Add heavy cream, whole milk, salt, black pepper, ground nutmeg, and the herb sachet to the onions and bring to a boil.
After it boils, turn the cream mixture down to medium low and cook at a simmer for 10 minutes, stirring often so it doesn't scorch on the bottom of the pan.
Slowly whisk in the roux and stir with a whisk until blended. After the roux is blended, continue to cook on low for another 5 minutes, or until the sauce is thickened.
Remove the sauce from the heat, remove the spice satchel and using an emersion blender, blend until smooth.
To Finish The Mac and Cheese: Cook the two cups of dried macaroni according to package instructions. Save out ½ cup of pasta water before draining.
Add the cooked macaroni to the bechamel sauce. Add the chicken stock, half of the Parmesan cheese and the grated cheddar cheese. Stir until noodles are blended with the sauce and nice and shiny. Add in a little of the pasta water if the mixture seems dry. Taste and add more salt if needed.
In a medium fry pan, melt butter. Once the butter is melted add the panko bread crumbs and stir until just starting to turn a golden brown.
Spray a 1 ½ quart or 2 quart casserole dish with non-stick spray. Turn the macaroni mixture into the casserole pan. Top with the golden brown panko crumbs and the remaining shredded Parmesan cheese.
Bake 350 degrees for 20 - 30 minutes or until casserole is bubbly.