adding a CellmlUtils class and moving generic CellML code to that; now converting all units to to canonical representation in order to determine matching unit definitions; adding a bit more error checking to allow errors to propagate back to the user; serialising the required canonical unit representations to the compacted model, but not sure if they are correct - need to look more into what the attributes of the base units actually are and how they relate to the CellML units