Fix the PYTHONPATH issue for good (hopefully).

The latest change to set PYTHONPATH to be limited to the location of the
settings_local.py file broke virtualenvs, which no longer set PYTHONPATH
correctly and break rbssh.

PYTHONPATH seems to be a complicated beast when virtualenvs and
pkg_resources comes in, so we're just going to stop dealing with it
here. Instead, we're using a new variable, RBSITE_PYTHONPATH, which will
point to any paths we have within a site that we care about. For now,
this is the conf/ directory. rbssh will specifically look for this and
add the values to sys.path.
Rewrite the file attachment thumbnail code to be a Backbone view.

The new FileAttachmentThumbnail view can be used with pre-rendered
file attachment thumbnails (loaded in from the review request
template) and also with newly uploaded files.

It also replaces the old file attachment thumbnail placeholder code.
It recognizes when we haven't yet finished an upload of a file, and
will show a spinner in that case, eventually replacing it with the
contents when it's loaded.
Convert ReviewRequest to Backbone.js.

This introduces a new RB.ReviewRequest and a RB.DraftReviewRequest,
both based on BaseResource. These are the last resource classes that
needed to be converted.

RB.ReviewRequest operates on a review request and provides operations
like closing a review request, reopening, checking for updates, and
creating child objects. It has a 'draft' parameter pointing to a
DraftReviewRequest.

DraftReviewRequest handles setting of fields on a review request and
publishing the draft.

All the hacky .cid checks have been removed, meaning we can now rely on
new-style objects for resources.

Some additional work had to be done to transition our editors over to
the new class. These will end up looking nicer when that code is also
transitioned to new classes. For now, they operate on some raw data
(passing API field names to options.data instead of using attribute
names). This is considered temporary.