Move the data.expand setting into syncOptions.

This ensures that data.expand is set even if other form data is set.
This is needed for POST requests.
Remove a bunch of the review-related globals.

We used to have a bunch of globals for various bits of state, like the
review request URL, whether or not we can edit, the bug tracker URL,
etc. These have been removed, in favor of attributes on the new objects.
Most of these weren't even in use anymore.
Make some improvements to our changesets code.

The existing stuff for changesets is pretty heavily biased towards
Perforce--from assuming that the changeset ID will only be a number, to doing
some queries that will only make sense for servers that support pending
changesets with a server-side representation.

This change adds a "supports_pending_changesets" property to scmtools and gates
things based on that.

Testing done:
Ran unit tests, used this in conjunction with my post-commit branch.

Reviewed at http://reviews.reviewboard.org/r/4236/