Skip tests that need an ipcluster if one isn't available

There are actually quite a few tests that will run without a cluster available.  In this PR, I split a `ClientTestCase` off of `ContextTestCase` that will raise a `skipTest` if a `Client` can't be made.  Using `ClientTestCase` and `ContextTestCase`, we can run the test suite even if we don't have a cluster running, skipping all the tests that need a `Client`.

Closes #453.
Nit: The message wording sounds a bit odd to me, I might expect `for this test case` at the end, or perhaps `to use this test class`. But feel free to ignore this.