Improving testing

This PR is on top of #151, since some testing improvements were already made there.

1) Remove the `more_setUp` and `more_tearDown` methods from `MpiTestCase`, and make its `setUp` and `tearDown` methods into classmethods.

2) Add an `IpclusterTestCase` that sets up and tears down Clients (and clears them after every test).

3) Add a `CommNullPasser` metaclass to testing that adds the `comm_null_passes` decorator to every method for you, and make the type of `MpiTestCase` `CommNullPasser`.

4) Make the `comm_null_passes` decorator a bit more forgiving; now it looks to see if `self` even has a `comm` attribute before testing if it's COMM_NULL.