Add view decorator for user update views, add URL tests for user update.

Checks the username, returns 404 if the username doesn't exist, 403 if it's
for the wrong user, and replaces username with the user otherwise.
Add endpoint for updating user profile photos
Add API endpoint which calls upload_user_photo
Fix indentation and remove vim filetype comment
Add photo upload to user profile page
Merge pull request #835 from maurizi/topic/447/userProfilePhoto

User profile photo upload
Fix broken management command helper

We were getting the system user incorrectly, not using InstanceUser, and
not setting enough permissions to actually delete objects.
Fix typo in tree creation probability (it was always 100%)
Add option for setting species and diameter in random_trees
Change random_trees to use stdout.write instead of print

Recommended by Django for easier testing of management commands
Separate out management command tests, add tests for random_random_trees
Fix testing system user creation

create_mock_system_user was being run during the import of the testing
package, before the test database had been created.  Thus, it was using
the *non-testing* system user, and setting it on the User class, which
worked because because nothing actually tried using saving the system user
as a foreign key.

In order to work around this wierdness I had to override setup_databases,
so that I could create the system user *after* database creation but before
any tests were run.