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!
Everything above this is configuration. Mostly, it's making sure that we're always using the project's virtual environment (more on virtual environments below, after the requirements files).