Allow H5MD_File to be used as a context manager
Example use of context manager in check_file.py
Merge pull request #1 from khinsen/context-manager

Allow H5MD_File to be used as a context manager
Add Konrad Hinsen to contributors and copyright notice.
Example use of context manager in check_file.py
Add Konrad Hinsen to contributors and copyright notice.
Merge branch 'context-manager'
Add pyh5md/utils.py with routine to create compact datasets. Code modified from the h5py project, indicated in license header.
Time independent box edges and offset are now compact datasets.
Compatibility fix for h5py 2.2

H5MD uses undocumented functions from h5py._hl. This fix makes it
work with h5py 2.2 in addition to whatever it worked with before.
In the long run, the generation of compact datasets should probably
use the documented low-level API instead.
Relax conditions on data when writing to observables
- allow scalar observables
- don't insist on matching dtypes (h5py will do the conversion)
- raise an exception if the shape of a value doesn't match,
  rather than silently dropping the value
Allow unit specifications for all supported data
Make center_of_mass a scalar observable in random walk example
Merge pull request #2 from khinsen/h5py_2.2

Compatibility fix for h5py 2.2
Merge pull request #3 from khinsen/better-observable-writing

Relax conditions on data when writing to observables
Merge pull request #4 from khinsen/write-units

Allow unit specifications for all supported data
Replace printed error messages in H5MD_File.__init__ by exceptions
Merge pull request #6 from khinsen/error-handling

Replace printed error messages in H5MD_File.__init__ by exceptions
Merge branch 'master' into test_merge_open

Conflicts:
	pyh5md/core.py

Merging involves combining arguments lists and data writing (mask and update from "better-write-observables" conflicted.