enable trailing dimensions in BPoly.from_derivative

Trailing dimensions seem to work now. 
Also fix a dumb bug in inheriting `extend` without thinking.

I've not touched anything in `polyint` module just yet. This might warrant some discussion on what's the best course of action:  there are several interpolators in there, so do we want to do we want to just leave them be, or do we want to base them all on `BPoly`, or do we just replace them one by one etc. But that seems best be done in a separate PR.