Enable make_request to have file arguments
Update audit system to allow deleting

Previous initialization order allowed us to fake deleting by calling
`super(UserTrackable, self).delete(...)`. This worked because
`models.Model` was last in the declared super class chain.

Now we assume there is a undeclared dependency in that subclasses of
`UserTrackable` must also be subclasses of `models.Model`.

The obvious solution is to make `UserTrackable` itself a subclass of
`models.Model` however you end up a non-tree like inheritance hierarchy.
Add in utility for specifying a single http verb
Use byte strings so that django doesn't freak out

For some reason these tests just broke (which freaked me out). Debugging
didn't lead to the change the broke it but did lead to a root cause. In
particular, it appears that django was trying to de-serialize a request
body a byte stream.

Since we're trying to python 3 ready we've been using unicode
strings. Changing these to byte strings seems to fix the problem.
Add in photo handling for both local and S3
Tree photos should change a tree's hash
Add photo handling to plot detail page

Show tree photo and allow upload