Cleanup & project automation

Some basic Django hygiene and automation, along with some code cleanup. Best viewed with whitespace diffs suppressed, and best reviewed commit-by-commit.

Nice start, @bdyn!
Life is a lot easier when all the data in the database is valid. Instead of checking for game legality every time you're reading from the DB, check once before writing.