VIS: only apply shared axes handling on actual SubplotAxes
closes #11556
closes #11520

@sinhrks @TomAugspurger What do you think of this approach?
 I think your fix looks fine, but I need to reread those issues to better understand what's going on. It could be a bit before I get to that, so I'm comfortable with merging this if you or @sinhrks are.
 Looks nice! It's great to add tests of these axes for future cases.

```
# divider
from mpl_toolkits.axes_grid1 import make_axes_locatable
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
hasattr(cax, 'is_first_col')
# False

# insert_ax
from mpl_toolkits.axes_grid.inset_locator import inset_axes
iax = inset_axes(ax, width="30%", height=1., loc=3)
hasattr(iax, 'is_first_col')
# False
```
 @sinhrks added those examples to the tests as well
 lgtm. merge when ready.
 merged via https://github.com/pydata/pandas/commit/9ee21391b59de46222c0a9cf4ae27cfebcaa79e3
