Don't match Perforce repositories when outside the checkout.

We had a long-standing bug where if $P4PORT was set and `p4 info`
returned valid repository information, we'd consider that a match, even
if not within that Perforce checkout.

We now make use of the "Client root" field from `p4 info` and only match
a repository if we're within that Checkout somewhere.

If working with a nested repository where one checkout is within
another, and one type of repository is listed before another, then this
could still fail. That's, however, a larger problem that needs to be
solved across SCMClients.

Fixes bug #3171
Merge branch 'release-0.5.x'
Finish tranisition for new revisions syntax.

This change does a handful of things:
* Updates the ClearCase implementation to use the new diff method, and changes
  it from using --tracking-branch to a `brtype:` prefix.
* Fixes up ClearCase documentation for the new syntax.
* Cleans up the `get_diff` method, now that there are no legacy consumers.
* Changes the `--revision-range` argument to just print an error.
* Changes the help for the options to say `[revisions]` instead of
  `[changenum]`.
* Updates the docs to remove --revision-range
* Updates the docs to list -I/--include

Testing done:
* Ran unit tests.
* Built docs and verified that they looked right.

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