Copy the demo notebook to the example dir.

Also
* remove my name, the date, and references to APUG
* rename the notebook "features` to make it more generic
* change a call to `.get_localarrays()` to `.localarrays()`
* remove the "(coming soon)" note about slicing
Use print_function for py3 compatibility.
Reset the prompt numbers.
Add a simple test of one's h5py installation.
Refactor DistArray __getitem__ into methods.
Use slicing when possible in fromndarray.

We should probably allow slice syntax for __setitem__ in all cases and just fall back to an item-by-item implementation when necessary, but that can be a separate PR.
Use Ellipsis instead of single slice.
Add a `global_slice` property to local maps...

where applicable.
Have tondarray use slices where possible.
Add a `global_slice` property to local distribution.
Speed up save_hdf5 with slice syntax.
Merge pull request #464 from enthought/feature/add-h5py-test-util

Add a simple test of one's h5py installation.
Merge pull request #465 from enthought/feature/refactor-process-return-value

Refactor DistArray __getitem__ into methods.
Merge pull request #466 from enthought/feature/fromndarray-uses-slicing

Use slicing when possible in fromndarray.
Remove unnecessary rvalue getitem.
Merge pull request #469 from enthought/feature/speedup-save-hdf5

Speed up save_hdf5
Merge pull request #468 from enthought/feature/tondarray-uses-slicing

Use slicing to speed up tondarray
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.