Add the ability to track Matches

This includes some robustness to handling crashes; if match_cleanup is
passed with a true argument, we consider the match in memory to be
unclean and will attempt to destroy our changes.
Avoid destroying Fighter objects during cleanup
Update .gitignore to remove sqlite .db files