Enhance Review Board RBTools (rbt) to support svn tree (or file) copy

RBTools (rbt post) does NOT support svn tree copy (or file/files copy) from
other branches. With this change, rbt notifies user that it has detected
tree/file copy and asks the user if the review should contain files added as
part of svn copy or not.

Testing done:
$ svn cp $svn/branch/dir .
A    dir/a.c
A    dir/b.c
Checked out revision XXXXX.
A         dir

$ svn st
A  +    dir

1. Test using NO svn changelist
$ rbt post
One or more files in your changeset has history scheduled with commit.
Please add option '--svn-show-copies-as-adds=y/n' and re-run

$ rbt post --svn-show-copies-as-adds=y
Review request #ddddd posted.

2. Test using svn changelist
$ rbt post --svn-changelist=tree_copy_1_file

One or more files in your changeset has history scheduled with commit.
Please add option '--svn-show-copies-as-adds=y/n' and re-run

$ rbt post  --svn-changelist=tree_copy_1_file
--svn-show-copies-as-adds=y
Review request #ddddd posted.

Fixes bug 3024
Reviewed at https://reviews.reviewboard.org/r/4279/
Update SCMClients and tests for the new diff dictionary change.

My recent change to convert diff results to a dictionary that also
introduced the base_commit_id value was pushed prematurely. This change
finishes that up by updating all other SCMClients, post-review, and unit
tests.