Add CubeList.merge_cube().

Includes contributions from @bblay and @pp-mo, which in turn built on work done by @cpelley. See #937 for more details.

NB. As a workaround for nosetests limitations, the unit tests for the `_merge` module are in a `merge` directory - see #938.