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
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
adding files c2py.py hdf5py.h to parse origin hdf5.h header
automatic version generation adding git hash and commit number
modify api_types_hdf5.pxd and api_functions.txt by editing only spaces commas and comment
prework for automatic generation
fixing const warnings
    expected ‘const char **’ but argument is of type ‘char **’
update variable names and types in api_functions.txt match the hdf5.h header

exceptions are the functions:
  herr_t    H5Glink2(hid_t cur_loc_id, const char *cur_name, H5G_link_t link_type, hid_t new_loc_id, const char *new_name)
  herr_t    H5Pset_layout(hid_t plist_id, int layout)
  herr_t    H5Sselect_elements(hid_t space_id, H5S_seloper_t op, size_t num_elem, hsize_t **coord)
  herr_t    H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id)
  herr_t    H5Aiterate(hid_t loc_id, unsigned *attr_num, H5A_operator_t op, void *op_data)
make api_types_hdf5.pxd in sync  with hdf5.h header

following bugs were fixed:

rename:
ctypedef enum name ->  cdef enum name

remove duplicate H5F_close_degree_t

wrong values of:
H5F_ACC_RDONLY, H5F_ACC_RDWR, H5F_ACC_TRUNC

wrong values of in enum:
H5F_close_degree_t
H5G_obj_t
H5R_type_t
H5T_order_t

  ctypedef enum :
    H5F_CLOSE_DEFAULT  = 0
    H5F_CLOSE_WEAK     = 1
    H5F_CLOSE_SEMI     = 2
    H5F_CLOSE_STRONG   = 3
remove unused functions from api_functions.txt and duplicate types from api_types_hdf5.pxd

adding further functionailies/switches to c2py.py
 - gen to generate
 - use to see were functions are used
 - dup to seek for duplicate structures enums

>find wrong signatures
python c2py.py  --hdfDir=../hdf5/include --header=hdf5py.h --outFile=c2pyOut.txt gen
bcompare h5py/api_functions.txt h5py/new.api_functions.txt

>find unused functions
python c2py.py  use | grep -e '^-'

>find duplicate declarations
python c2py.py  dup
remove definitions in  h5fd.pxd that are already in api_types_hdf5.pxd
changes in various *.pxd and *.pyx to remove type warnings
this is like a merge with rel975 (089ae7)