Allow zero-length selections
When slicing yields an empty array, return an emtpy array of the correct shape
Tests for slicing returning empty arrays
fixed tests of hdf5 <1.8.7

The datasets need to be created with unlimited maxsize
registered DictCompat as a collections.MutableMapping
Registered  `Group` and `AttributeManager` as `MutableMapping`
individually.

Removed registration of `DictCompat` as `MutableMapping`
Added tests for collection.MutableMapping registration.
update ANN
added check to Group.move to short-circuit the function if `source`
and `dest` are the same.  If identical `source` and `dest` are `source`
are passed to the hdf layer it throws an error.
added test for null-move
Merge pull request #1 from tacaswell/zero-length-selections

fixed tests of hdf5 <1.8.7
Merge upstream changes
Merge pull request #334 from khinsen/zero-length-selections

Slicing resulting in empty arrays
Merge pull request #346 from tacaswell/move_guard

Move guard
Merge branch 'master' of https://github.com/h5py/h5py
Modifications for astype
Add tests for astype context manager
Document astype method
Merge MutableMapping PR
Add contributor guide