Fix the RepositoryForm unit tests, and make them less error-prone.

My final work for the Bitbucket support broke RepositoryForm unit tests,
and I apparently failed to test those. So, this change fixes it, by
making use of a TestService instead of using an existing hosting service
for tests. This way, we can control things like authorization (which is
what broke the tests before), repository checking, fields, etc.
Require the latest security release of Django 1.4.

The security issues do not appear to impact us, but better safe than
sorry.
Fix S3 querystring auth.

The boto-based S3 backed defaults to using query-string authentication, which
causes the URL to expire after a while. This is meant to prevent hot-linking,
but in our case, it's easy to have it not quite sync up with our caching,
ending up with a cached link which is then expired. This change turns off
querystring auth in the storage backend.

Testing done:
Configured my devserver to use S3, and uploaded a file. Checked and saw that
the relevant URLs generated no longer contained the various querystring
parameters.

Reviewed at https://reviews.reviewboard.org/r/4457/
Document how to reset the authentication method.

Users can use the set-siteconfig management command to fix a broken
authentication setup. We've had a bug open for quite some time asking how to do
this, and it really ought to be documented.

Fixes bug 1259.
Reviewed at https://reviews.reviewboard.org/r/4458/