Remove leading and trailing blank lines in review comments.

When a user submits a review comment, leading and trailing
blank lines are saved as part of the comment. We want to strip
these blank lines before saving the comment to the database.

Testing done:
Created new review request and manually tested:

-review
-review reply
-diff comment
-reply diff comment
-file attachment comment
-reply file attachment comment

Unit tests pass.

Reviewed at https://reviews.reviewboard.org/r/4561/
Fixes issue 2933
Generalize the validator for regex form fields, and add a test for an invalid regex.

This moves DefaultReviewerForm.clean_file_regex out into a reusable validator
that can be added to any field. In addition, I've added a test for attempting
to create a default reviewer with an invalid regular expression.

I did this incidentally while banging my head against failures caused by the
changes to PUT in the test client, but it's a good change nonetheless.

Testing done: Ran unit tests
Revewed at https://reviews.reviewboard.org/r/4616/
Bump dependency to Django 1.5.x

Pull in Django 1.5.4 and Djblets 0.8.
Add quotes to {% url %} tags.

The url templatetag has been changed to require quotes around string arguments
(like everything else does). Update our templates accordingly.

Testing done:
* Ran unit tests.
* Grepped for "url" in all our templates.

Reviewed at https://reviews.reviewboard.org/r/4619/
Update for PUT payload changes in the test client.

In 1.5, django.test.Client changed the behavior of PUT, OPTIONS, and DELETE. In
1.4.x and prior, OPTIONS and DELETE behaved like GET (encoded any data in the
query string), and PUT behaved like POST (encoding data as multipart). These
are now very generic, and it's up to us to manually encode the data and set the
content-type for PUT requests if we want it to get to the server.

Testing done: Ran unit tests.
Reviewed at https://reviews.reviewboard.org/r/4620/
Fix the subject in test_put_reviewrequestdraft_publish

In Django 1.5.x, the locmem email backend will trigger header validation and
generate a message ID. This means that the subject when publishing a second
draft will be "Re: ...". Our previous implementation of the assertion was
actually incorrect, but it took a while to convince myself of that.

Testing done: Ran unit tests.
Reviewed at http://reviews.reviewboard.org/r/4621/
Bump python requirement to 2.6.x
Change Djblets dependency to 0.8.0.dev
Split the API test suites into Item and List classes.

For organizational purposes, and to make it easy to select a particular
set of tests, the API test classes have been split into two. There are
now resource list tests in each test file (all named ResourceListTests),
and item tests (ResourceItemTests). By keeping the same name, there's no
guesswork. It's easy to just run a set of tests in a resource's test
file.

While in here, I removed some usage of test_scmtools from the new
classes, which were not really needed.