Fix rbt status with Perforce.

rbt status broke with Perforce due to Perforce's assumption that
options.revision_range existed. We now do a conditional check like every
other SCMClient.
Fix compatibility with Python 2.4

In a recent release, new code used 2.7/3.x style exception raising.  This patch
uses standard 2.x exception raising and returns compatibility with Python 2.4
to RBTools.

Testing Done:
Using the functionality in setup_repo.py under Python 2.4 returns no errors.
No further testing should be required.

Bugs closed: 3193

Reviewed at https://reviews.reviewboard.org/r/5267/
Merge branch 'release-0.5.x'