Cube merge string coords.

Primarily, this PR extends the capability of cube merge 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 that allows 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 the situation of ```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.