ENH: interpolate/_ppoly: change PPoly.c shape convention

Don't ravel the trailing dimensions of the coefficient array.  Removes
the need to inherit from _Interpolate1D.
MAINT: interpolate/BPoly: move helper routines to @staticmethods in BPoly
TST: interpolate: refactor tests common for PPoly and BPoly
BUG: interpolate/bpoly: make BPoly.extend work
ENH: trailing dimensions in BPoly.from_derivatives