Place the stick of butter in the bottom of a large pot, at least 6 quarts.
If you have one, place a mandolin slicer on top of your pot and thinly slice the peeled onions, not paper thin, preferably, directly into the pot. A food processor or good ol' fashioned sharp knife works fine too. I like to slice the onions in half, from root to tip, before slicing thin.
Saute the onions and butter (and a pinch of salt and pepper) over medium heat, stirring occasionally, for 1-1 1/2 hours, or until onions are soft and caramelized and pretty much all of the liquid has evaporated. It is best to stir the onions only occasionally to encourage proper caramelization and browning.
While the onions are cooking, place all the herbs and bay leaf in a square of cheese cloth and tie with a piece of kitchen twine to make a small pouch. Tea filter bags, small mesh jelly bags, and hop socks work as well. Set aside for now.
Once onions are caramelized, and reduced quite a bit, add the cocoa powder, brown sugar, and all purpose flour. Stir well to make sure they are well incorporated with the onions. Deglaze the bottom of the pot with the wine and brandy, making sure to scrape up any brown bits (fond) with a wooden spoon. Let the alcohol simmer out until mostly evaporated.
Now add the herb pouch to the onion mixture. Also add both the beef and chicken stock. You can use only beef, but the mixture of the beef and chicken stocks makes for a richer, more elegant tasting soup. Bring to a simmer over medium high heat.
Once soup comes to a simmer, add the soy sauce and worcestershire sauce. Let soup simmer for up to another 30-45 minutes, or until it has reduced to almost half. Remove the herb pouch and taste soup to see if it needs salt or pepper. Turn on your broiler.
Ladle soup into serving bowls and top with a slice of toasted french bread and some of the cheese. We really like a blend of Provolone and Gruyere. Swiss would also work here. Place the bowls of soup on a baking sheet and heat until the cheese bubbles and begins to brown in your broiler. Depending on the bowls you choose, you can get about 4 first course or 6 smaller appetizer portions out of one pot. This soup is even better the next day, if you can wait, since the flavors will have more time to meld.