Introduce rbtools documentation

Create the configuration for the rbtools documentation and introduce
the initial documentation for the rbtools api client. This
documentation includes a small tutorial, a general overview, and
resource specific functionality.

Reviewed at http://reviews.reviewboard.org/r/3296/
Add documentation for the rbt commands

A page for each command has been added listing a short description and
the options which the command accepts. Eventually these should be
expanded to provide more in depth documentation.

Also, the post-review documentation has been ported from the Review
Board code base. This also served as the starting point for the rbt
post command's documentation.

Additionally, a couple of unused options, which were noticed while
documenting, were removed from the post command.

http://reviews.reviewboard.org/r/3931/
Move docs into a subdirectory.

Move the rbtools documentation into a subdirectory under the docs
directory. This was done to allow for other sphinx docs configurations
such as releasenotes.
Assign documentation copyright to Beanbag, Inc.

List Beanbag as the copyright holder and fix a style error in the
sphinx configuration.
Port rbtools release notes from Review Board repo

Introduces a releasenotes sphinx configuration, and includes
all previous release notes from the Review Board tree.
Update README to include new tools

The rbt command and the API client are now mentioned in the readme
alongside post-review.
Fix diff generation with unedited files in Perforce.

If you make a perforce-backed code review with an unedited (but opened)
file then ReviewBoard chokes on the empty diff content. Based on the
recentness of this issue I suspect that it's regression for us from
upgrading ReviewBoard from 1.5 to 1.6.

This issue has been discussed by others on...

http://code.google.com/p/reviewboard/issues/detail?id=2754

========================================

Steps to repro:

1. p4 edit some/file/with/stuff
2. run post-review

Expected:

Post-review should error out if you don't have any edits. If you have
other modifications then it should just make a code review with that.

Actual:

Post-review always succeeds, but the unedited file renders as a
stacktrace in ReviewBoard.

Fixes bug #2754
Reviewed at http://reviews.reviewboard.org/r/3944/
Move release notes up one directory

The *.txt files for each release now live in the top level directory
of the release notes, instead of the 'rbtools' directory
Release rbtools 0.5

Provide the release notes for 0.5, and bump the version number.
Translating newlines to fix embedded carriage returns

A frequent, and especially troublesome to debug, cause for post-review issues
is embedded carriage returns. These are fine if they occure as a windows
newline, but when a \r isn't followed by a \n the patch command run on the
ReviewBoard host will usually choke due to misaligning line numbers in the
following chunks. Tested by running...

% p4 edit README
% echo "more\rstuff\r\n" >> README
% post-review

This produced a server-side stacktrace without this patch, and works with this
normalization.