assume COMMON rarity for cards that don't specify
instead of populating the colors as part of setting casting cost in XmlCardSetReader, moved the logic into DefaultCard so when a casting cost is set and colors are implicit, the colors will be automatically derived from the casting cost.
added checking of card color during assert phase
cards start having COLORLESS as their only color until overridden, and if the casting cost is set to null/empty on a non-explicitly-colored card, it'll be reset to the same
changed the descriptor-based commands to support both XML and Markdown descriptors