added 'mutate' flag to ManaColor.sort for controlling whether the passed collection is sorted in-place (but only if it's a List)
moved ManaColor from the 'descriptor' package to the 'api' package, which completes the isolation of api as it's own standalone unit