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 saving the system user as a
foreign key.

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