Support hidden changesets in Mercurial

Before this patch, if hidden changesets were specified (e.g. with
--revision-range), rbtools would fail because Mercurial would complain
about changesets not being found. Mercurial "pretends" it doesn't know
about hidden changesets unless --hidden is specified.

This patch adds --hidden to all Mercurial commands that could interact
with hidden changesets. If the current Mercurial install doesn't support
hidden changesets (this is detected at run time), this argument is
stripped before command execution.

An alternative to this implementation would require the user to pass
--hidden to rbtools or would require the user to activate hidden
changeset support in the rbtools config. It is the opinion of this patch
author that things should "just work" and the user shouldn't be required
to do anything special to get rbtools to play nice with hidden
changesets.

Testing Done:
Manually testing diff --revision-range with hidden changesets.

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