Fix Clear Case popen problems on Python 2.7.x.

On Windows 7, using Python 2.7.x, Clear Case would pop up a console
window every time popen was invoked. We now change the shell= parameter
depending on whether we're running Windows 7 and Python 2.7.
Merge branch 'release-1.7.x'
Improve the look of the extensions list.

The extensions list never really got any love, and looked pretty bad. It
didn't handle long descriptions very well, and the action links were
just kind of big and too floaty. The author was also just kind of placed
there, without much thought.

The new look places the author in the top-right of the extension's box,
out of the way but easily seen.

The description and actions are aligned on their own rows, indented
slightly from the extension name. The actions aren't bold anymore, so
they don't steal attention away from the extension names.

The descriptions don't overlap with actions anymore, due to the new
placement. They also have a decent margin from the right, so that they
don't appear to run up against the author very easily. This adds some
breathing room.

The version number isn't so close to the extension name, and is slightly
faded.

The bottom of the box is now curved, and the box has a slight shadow,
matching the rest of the admin UI.
Merge branch 'release-1.7.x'
Enhance RB.Diff to be able to create new diffs.

The existing diff model didn't do very much, and was really meant for dealing
with existing diffs. This change adds some attributes and methods that allow it
to be used to create new diffs.

Testing done:
Used this in another change to create a diff from javascript.

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