ENH: Implement Panel pct_change
Closes https://github.com/pydata/pandas/issues/6904

There's just a bit of extra index handling that needs to be done before moving on to `generic.pct_change()`. I had to adjust that to use the `.div` and `.sub` ops instead of `/` and `-` to work with panels.

I wasn't sure why axis wasn't included as an actual names keyword arg. `generic` just looks for it in **kwargs. I did the same in panel.

A related issue was the `Panel.shift()` has a different argument signature than `generic.shift()`. I can make those consistent and put in a deprecation warning in this issue or in a new one.

I added a vbench, but maybe it isn't worth it since really all that's happing is a panel.shift() and a panel.div(). Should I take it out?
 it's fine
 instead of specifying the items axis use info_axis for ndim > 2

maybe this should also be explict for ndim > 2
iow you must specify an axis ?
not sure if we do that in other functions
 I changed the default axis to major to be more consistent with `panel.shift()`. Wasn't sure what you meant about making it explicit. Do you mean adding the axis as a real kwarg?
 axis should default to stat_axis (which is 1 for a panel)
 I finally understand what you meant about the axes (I've never really understood what `info_axis` and `stat_axis` were before now). This let me move everything to generic. Should be good now. Haven't tested with Panel4D and up, but in principle there's no reason it shouldn't work.
 gr8 - generic is good! makes maint easier

u can simply put in the Panel4D notimementrd list (as this is prob not intuitive), look in panelnd for a list of functions that it disables
 Actually this will already raise NotImplemented since `shift` is on the NotImplemented list, and that's used in pct_change.
 ok gr8
