Split ortho/fancy indexing adapters.

This is a *backwards incompatible* change to treat "fancy indexing" and "orthogonal indexing" data sources separately. For orthogonal data sources (such as netCDF4.Variable instances), this has two benefits for the ndarray()/masked_array() methods:
 - It avoids unnecessary work and memory overhead from doing dimension-by-dimension slicing.
 - It allows them to return "well-behaved" arrays that are C contiguous.