BUG: fix Panel.fillna() ignoring axis parameter

This fixes #8251. It may need some more comprehensive tests but before I go too much farther I want to make sure the axis numbering scheme makes sense . The default behavior of `fillna` is to fill along `axis=0`. In the case of a DataFrame this fills along the columns. However, in the case of a Panel, filling along `axis=0` means you're filling along items. I'm not sure if that's the behavior that most users would think is the default. You might note that I also removed the references to what the behavior of each axis value is in the docstring since it gets a bit arbitrary when you consider both DataFrames and Panels.
This entire section (the save/restor cats) is not necessary. This method ultimately calls ``core/categorical/Categorical/fillna`` at which point it processes and returns the new categorical. If you have something that this doesn't work for, pls show it.