Add Mercurial support to rbt land

Review Request #9744 — Created March 5, 2018 and updated — Latest diff uploaded

rbtools, students

rbt land supports Git, this change adds support for Mercurial as well.
rbt land works on bookmarks in mercurial.
Mercurial supports merging and deleting bookmarks but not pushing upstream because
bookmarks are usually not shared with the upstream, so it is left to the user to
decide what they push.

Ran all unit tests
Added unit tests for the new mercurial client functions.
Tested some rbt land commands on a Mercurial repository including --local,
not local, --squash, and --no-squash.