Make check_options raise an error instead of exiting.

The SCMClient.check_options method as written would print an error message to
stderr and called sys.exit(). This is kind of a crummy design, which meant that
running our test suite would have some errors printed in the middle of the
suite output.

I've changed this to raise an exception instead, and replicated the print/exit
behavior in the two non-test places that call it.

Testing done:
Ran unit tests

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