Update documentation and split get_interpolator into
get_interpolator(field_name) and get_interpolator_from_array(field)
Add scipy as requirement.
Fix the case of 2D coordinate fields and test for it.
Expose extrapolation_level to TidalNetCDFInterpolator and NetCDFGrid
class and handle allow_extrapolation legacy.
OTPS is opposite of new mask convention.

New convention: land=1 (thus masked), water=0
Change convention of set_ranges() in NetCDFGrid:

It now directly restricts the coordinates and mask, and get_field
returns a restricted array. Similarly, get_interpolator_from_array()
expects a restricted array. set_ranges() now needs to be called before
set_mask() and may only be called once.
Prevent netCDF4 using masked arrays.

Also use -9999. instead of nan as fill value for now because of issues
with nans in RectBivariateSpline()
Also reattempt 8669fb97b92b5054a7ea70ac305ea1f4ece6e95a: mask convention
in OTPS.