Add "Random card" support.
Move keyword correctness checking to after parsing

This makes sense from a separation of concerns perspective, but also
is just generally nicer.  Now the parsing code doesn't really care
about whether or not "f" is a color, it'll parse it as text and only
later will it raise a red flag.

This is important because it streamlines the parser code and helps us
implement a more flexible correctness checker for different types of
search keywords (e.g. rarity and color both have different possible
values).  Also the error messages are way more informative now.
Ignore distutils generated manifest.
Version number bump.
Update classifiers to reflect new python version compatibility.