Keep consistent column widths when wrapping long lines in diffs.

We've historically had issues with very long, unbreakable lines. Prior
to 2.0, they would result in a horizontal scrollbar on the page,
requiring a lot of scrolling. In 2.0, they simply disappeared off the
edge of the parent container, with no ability to see the rest of the
contents.

In a best-case scenario, with long breakable lines, one column would end
up growing really wide while the other shrunk considerably (often
resulting in many rows taken for a single line, growing the page
length).

This change adds some sane management to the column widths. In
combination with the existing 'word-wrap: break-word;', we now set
minimum and maximum widths for the columns every time the page's width
changes. These widths are calculated based on the container's width,
factoring in the number of content columns and the widths taken by the
line numbers.

Each column gets a maximum of half and a minimum of 1/3 of the available
area. That maximum width, along with the word-wrap setting, allows long
non-breaking strings to wrap sanely, and also ensures that all wrapping
is constrained within a reasonable area to prevent the other column from
shrinking beyond readability.

Fixes bug #3309
Reviewed at https://reviews.reviewboard.org/r/6013/
Guess a file attachment's content type if application/octet-stream.

If a browser claims a file's content type is application/octet-stream,
get a second opinion by asking `file --mime-type`. This helps with some
browsers or server setups where that useless mimetype is being used,
preventing some files from being reviewable.

Fixes bug #2269
Reviewed at https://reviews.reviewboard.org/r/6016/
Update for the new support page infrastructure.

This updates Review Board to work with the new support infrastructure
being deployed on our servers.

rb-site now asks for a Company name, which can also be provided later on
the General Settings page. This name will show up on the support page
when users visit it. We may also want to use this down the road to help
brand Review Board itself.

rb-site will also ask for permission to collect support data, and
explain what we collect and how it's used. This can be changed later
through a checkbox on the Support Settings page. If allowed, rb-site
will up and maintain the support page on install and upgrade.

Reviewed at https://reviews.reviewboard.org/r/6015/
Point users to Power Pack and support contracts after a site install.

After a user installs a site with 'rb-site install', they're now given
links to Power Pack and to our support contracts page. These are
benefits that we historically haven't done a great job pointing new
users to, so we want them to at least know about them as they're getting
going.

We even make the Power Pack trial process a bit easier by giving users
their install key up-front.

Reviewed at https://reviews.reviewboard.org/r/6020/
Don't strip leading slashes from CVS file paths.

Fetching CVS files requires the filenames to have the leading slashes intact.
This change adds a normalize_diff_filename method to CVSDiffParser which
overrides the default behavior.

Testing done: Ran unit tests.

Fixes bug 3433.

Reviewed at https://reviews.reviewboard.org/r/6029/