Add rbt stamp, which stamps a commit with the matching review request URL.

This adds a new rbt command called 'rbt stamp', which can automatically
find the review request URL for the current commit and amend the commit
with the right "Reviewed at" line.

This supports two use cases:

- By default, 'rbt stamp' will guess the review request ID using the
  same mechanism as 'rbt post -u'. After a review request ID is
  successfully found, it will stamp the most recent commit message with
  the URL of the review request. If there is no matching review request,
  it will abort and show an error message.

- When the '-r' option is used, 'rbt stamp' will check if it is a valid
  review request ID owned by user. If so, it will stamp the most recent
  commit message with URL of the review request. Otherwise, it will
  abort and show the error message.

In either case, a comfirmation and new commit message will be printed if
successful.

Note:
- Currently 'rbt stamp' supports Git only. Support for amending commits
  needs to be added to SCMClient classes to add support.

- If the current directory is not clean and there are files scheduled
  for commit, 'rbt stamp' will add those changes to the amended commit.
  This will be fixed in a subsequent change.

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