BUG: add proper error handling when using interp2d on regular grids

fixes #1889

This is not the most thorough error checking, but given the very weak constraints interp2d poses on the user, I think it was best to break no working existing code. 

Of course there might be corner cases where `x.ndim==1`, `y.ndim==1`, `z.ndim!=2` and `z.size==x.size*y.size` but it would be almost impossible to catch these here, I believe.