Cube merge string coords.

Primarily, this PR extends cube merge capability to correctly deal with string coordinates.

Previously cube merge did not take into account the ```dtype``` of a coordinate, and as a result it was possible for cube merge to consider/nominate a *string* coordinate over other more appropriate *numeric* coordinates to describe a dimension.

This PR allows cube merge to now favour *numeric* over *string* coordinates. It also takes the additional step to allow cube merge to favour ```DimCoord``` scalar coordinates over ```AuxCoord``` scalar coordinates. This provides a simple mechanism to allow a user to easily hint to cube merge which scalar coordinate to consider when attempting to describe a dimension.

This PR also resolves the situation when a ```NotYetImplementedError``` exception was raised when ```No functional relationship between separable and inseparable candidate dimensions.``` was determined. Instead, the candidate coordinates participating within this group are all enumerated along an anonymous dimension.