Deprecate ensure array

This PR replaces #906 deprecating `iris.util.ensure_array`. It is only used in a couple of places throughout the codebase and its use is redundant because the cube has a property setter for cube.data. This work arose because of issues/inconsistencies when collapsing cubes down to scalar cubes. As a result it was also necessary to modify the `iris.tests.IrisTests.assertMasked...` to handle masked numpy 0d arrays. Note that there are test result changes to some of the cube math broadcasting cml files as multiplying/adding/... an array by a 0-d array as opposed to a 1(or more)-d array does not promote the dtype.

This requires a entry in the what's new under incompatible changes as soon as @dkillick pushes up his outlined 1.7 what's new. I propose something along the lines of:
`When collapsing a cube over all of its dimensions the result is now a scalar cube, whereas previously the result would have been a 1d cube.`
This should emit a warning.