adds a quit option to end a session early
adds basic tag support

A Deck object now consists of two dictionaries, one for the cards and the other for
the tags. The value in the tag dictionary is a list of keys for the cards dictionary,
meaning that the tag filtering is simple iteration.
add tag filtering to testing and statistics
add script for batch inserting new cards