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!
These are wildcard patterns for filenames that git shouldn't ever check in. `*` matches anything, so `._*` ignores `._.DS_Store`, `._foobar`, etc.