Have `distarray/core` tests pass which catching `NullCommError`...

instead of raising a `unittest.SkipTest`.
Have the `nprand` tests `pass` when catching a `NullCommError`...

and have `init_base_comm` raise a `NullCommError` instead of a `MPICommError` for consistency with `BaseLocalArray.__init__`'s behavior.
Have basic DAP tests pass on `NullCommError`.
Run `distarray/core/tests` with 12 MPI processes.
Merge branch 'bugfix/unnecessary-test-skips' into feature/distributed-array-protocol

Conflicts:
	distarray/core/tests/test_distributed_array_protocol.py
Add a decorator to 'pass' a test if comm is COMM_NULL.
Use `comm_null_passes` decorator.