Remove deepcopies when slicing or manipulating cubes

This is a first attempt at removing unnecessary (and very slow) deepcopy operations
with slicing or otherwise manipulating cubes and coordinates. See #914.

Note: A few of the unit tests are failing, because they insist on checking the
order (Fortran or C) of numpy arrays. I think these checks should be removed,
because it is a waste of computational effort to always ensure arrays are
contiguous. If some code needs to interface with external modules code that
require continguous arrays, it should use np.ascontiguousarray or
np.asfortranarray at the immediate level of the wrapper.