Add CubeList.merge_cube().

Includes contributions from @bblay and @pp-mo.

NB. As a workaround for nosetests limitations, the unit tests for the `_merge` module are in a `merge` directory - see #938.