Add an IpclusterTestCase...

that sets up and tears down clients.
Ditch `more_setUp` and `more_tearDown`.

Make inheritors use super, as is more common.
Remove more* methods from base TestCases.

Make the setUp and tearDown methods classmethods.

Also update tests to match.
Change errmsg to indicate an exact number of engines are needed.

If we could make a context over a subset of engines, we could do that in this test baseclass and only a "> #engines" would be required.
Add a CommNullPasser metaclass to testing.py...

that applies the `comm_null_passes` decorator to every method in a class.

Also, rearrange testing.py a bit and remove the old usages of `@comm_null_passes`.
Remove a couple of unused imports.
Change the error message back.

Some tests still break with the wrong number of engines.
Apply Mark's fix to dv.clear.
Context takes a client argument, no longer takes view.

Context initializes its view attribute with all engines from the client
passed in.  Will initialize with Client() if no client argument
provided.

User can (still) select a subset of client's engines with `targets`
argument.
Merge branch 'master' into feature/improve-testing

Conflicts:
	distarray/tests/test_client.py
	distarray/tests/test_distributed_io.py
Merge branch 'master' into feature/improve-testing

Conflicts:
	distarray/tests/test_client.py
Rearrange imports.
Add a comment about the purpose of `comm_null_passes`.
Removes direct_view instances from testsuite.
Clean up test_client.py's docstring.
Merge branch 'master' into bugfix/context-takes-client

Conflicts:
	distarray/tests/test_client.py
	distarray/tests/test_distributed_io.py
Merge pull request #203 from enthought/feature/improve-testing

Improve testing
Merge branch 'master' into bugfix/context-takes-client

Conflicts:
	distarray/tests/test_client.py
	distarray/tests/test_distributed_io.py
Changes to reduce functions to support dtype kwargs.
Add tests for reduce functions kwargs.

Also speeds up some slow tests.