Reduce the size of the repo_revision field for FileAttachments.

The repo_revisision field for FileAttachments was too long for an
index to be formed on MySQL. This caused issues when upgrading to 2.0
beta 1. We don't really need a revision field this long (and only had it
this long to match the one in FileDiff, which also doesn't need to be
that long).

We now limit it to 64, which is the length of a sha256sum. It should be
long enough.
Look up missing users from the auth backend when using submit-as.

submit-as was only accepting users who were already in the database.
Unlike other places where users are specified, such as during login
or target reviewers, the auth backends were never checked. We now
loop through the auth backends looping through a user if we can't find
it in the database.
Look up missing users from the auth backend when using submit-as.

submit-as was only accepting users who were already in the database.
Unlike other places where users are specified, such as during login or
target reviewers, the auth backends were never checked. We now loop
through the auth backends looping through a user if we can't find it in
the database.
Merge branch 'release-1.7.x'
Switch over to using a real hg repo instead of a bundle.

The 'hg' command-line tool doesn't entirely work when treating a .bundle file
as if it were a repo. This change extracts the bundle into a new hg repo
directory, and changes our test suite over to use it.

Testing done: Ran unit tests.