Fixes #461.

Generalizes `Distribution.is_compatible()` to treat 'n' as compatible
with 'b', 'c', and 'n' when it makes sense to do so.
Adds logic to treat degenerate maps as compatible.

Test case added as well.  Now 'b' and 'c' are considered compatible if
they both have `proc_grid_size == 1` and equal `size`s.
Another test for degenerate compatibility.

Tests that block cyclic is compatible with block and cyclic when
proc_grid_size == 1 and sizes are equivalent.
Cleanup test_maps.py.

Changes maps.Distribution -> Distribution.

Clean up formatting.
Add test for not compatible distributions.
Merge pull request #462 from enthought/bugfix/461

Fixes #461.