Add a unit test for API root caching.

This adds a unit test to make sure that caching of uri_templates in the API root
takes into account the correct local site.

Testing done:
Ran all tests.
Before the djblets change, the new test failed. After, it succeeds.

Reviewed at http://reviews.reviewboard.org/r/4109/
Add an extra_data JSONField to the user profile

This will be useful for all manner of stuff, including extensions.

Testing done: Ran evolutions.

Reviewed at http://reviews.reviewboard.org/r/4137/
Fix issues with deleting comments on replies.

We've had some long-standing issues deleting comments on replies.
Deleting comments using the reviews/<id>/replies</id>/*-comments/ URLs
was supposed to work, but we didn't have any tests covering this and
never noticed we didn't have proper has_delete_permissions functions for
these resources.

The has_delete_permissions functions for comment classe have moved from
the subclasses into the base classes. This will ensure that any subclass
that enables deletion will do the right thing.

While writing tests for this, I also found that our diff comment
querying behaved differently from screenshots and file attachments. They
were only accessible for public comments or when the requester owned
them. This was unnecessary, and we really wanted to return Forbidden in
this case. Diff comments have been updated in this case to match what
the other comments do.