Lots of junk here. Committing because I figured out how to add a comment to a review.

See the add_comment() code for more info.
Merge branch 'master' into shelves

Well, I'm new to merging with git. I guess I should have submitted sooner. This commit has not only the merge, but lot's of other hacking I did to try to figure out how to modify various review fields.

Conflicts:
	rb.py
I figured out how to add a comment for shelving.

By setting the 'changedescription' field in a review_request draft,
I can put shelving information in the first comment box, where it stays.
Now I need to hook up the other elements of shelving.
Added a function to return list of shelved changes.
validate_change now blocks shelved changes.
validate_review now checks for changelist.
Shelving functionality working.

The shelving part is now working. We're in major need of refactoring
and UNIT TESTS!!
More fixed to shelving

1. Now properly handle case where we're given an change and --shelve.
2. Now updates shelf.

We still haven't implemented the part where we add a review comment
about the shelf. That will require some re-engineering because we
need a server object for that.
WIP - commit for safe keeping.
WIP - moved p4 stuff into P4 class.
WIP - Cleaned up the warnings/errors.
Hooked up the new_change function.
Can create and edit with the new stuff. If only I had unit tests.
Completed create/update/submit cycles with shelves and without.
Cleaned up the F5Reveiw.submit method and write the P4.submit method.
Added some error checking for the P4 calls.
Cleaned up some of the change list logic in create()
Ran PyCharm's code formatter on rb.py.
WIP: This seems to be working.
This baby is actually working!!