methods for promoting/demiting cube coords to DimCoord/AuxCoord

Nothing revolutionary, just streamlining a common operation. Only controversial bit is that if you have a cube aux coord which is a DimCoord instance, and you promote it to a dim coord and demote it an aux coord again, it silently becomes an AuxCoord instance. Arguable its weird to allow DimCoords to be aux  coords anyway.