Fix optional file fields with RB.BaseResource.

In change 624e56e I gave BaseResource the ability to upload multiple files as
part of an API request. This worked, but wasn't able to cope with file fields
that are optional. In the case where one or more of the fields pointed to by
payloadFileKeys was undefined, it would raise a TypeError.

Testing done: Used this in conjunction with my pre-commit WIP, which can
sometimes upload only one file to a resource that takes two.
Add a branch to the svn testdata.

I'm going to be adding some plumbing to have reviewboard query for branches and
commits in repos, which means I need some test data to write tests against. Our
svn repo that we bundle only had a trunk with no branches. This change adds a
branch with a couple commits.

Testing done: ran unit tests
Fix a typo in a comment.

s/cna/can/
Fix starring review requests in a local site.

The data-object-id attribute of the star in the dashboard column and review
request box was using the pk, instead of the display_id. This broke the starring
functionality, since the API uses the local_id when there's a local site.

Reviewed at http://reviews.reviewboard.org/r/4273/
Fix an issue with validating against repos that don't use basedir.

The UploadDiffForm had a buried case where it set the basedir to the empty
string in cases where the repository uses absolute paths, and it turns out that
this is necessary because we pass the value to os.path.join(), which really
doesn't like getting None for its first argument. I had missed this when
implementing ValidateDiffResource, which meant it worked for svn but didn't for
git.

Testing done: validated some diffs against a git repository.
Reviewed at http://reviews.reviewboard.org/r/4268/
Merge branch 'release-1.7.x'
Ensure the local_id update is committed to the server.

When we create a ReviewRequest on a server using a LocalSite, we set a
local_id based on previous IDs. This has worked in the past, but
something subtle broke it. We need to ensure this change is committed to
the server before any further use. We now commit the transaction and
then continue. This will prevent ReviewRequests that have a LocalSite
without a Local ID set from showing up in the database.
Merge branch 'release-1.7.x'