ENH: First round of added tests.

Observations of things that did not look right to be about the proposed implementation of our new API (in no specific order):

1. We currently don't handle dictionary input for sample points for cube.interpolate
2. More importantly, we don't support single pair support (coord, value) only ((coord, value)) for cube.interpolate
 or ((coord)) and ((value)) for `LinearInterpolator.__call__`
3. Why was the extrapolation dtype changed to nan from its default ('linear') on some of the existing 'master' tests?
4. `collapse_scalar` does not belong to the `LinearInterpolator` class, should be only in the cube.interpolate method (has nothing to do with the interpolation itself).