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!
The Django documentation makes a point of this - in Python 2.x, use `__unicode__` instead of `__str__`. The difference between unicode and bytestrings is significant, but not really important at this stage.