Support for dynamically loaded compression filters

Added ability to specify arbitrary compression numbers rather than one of a predefined set of compression names in create_dataset. This is to support user defined filters as described in https://groups.google.com/forum/#!topic/h5py/JqaBv98OGMs . This commit intends to follow the approach described there by Andrew Collette.

In order to test compression numbers with gzip, I had to refactor the legacy gzip compression values into a global named `_LEGACY_GZIP_COMPRESSION_VALS` on the `h5py._hl.dataset` module. 

This allows the test to disable the special legacy handling of gzip. This lets it specify a compression value without it being converted to the text 'gzip' before it reaches `h5py._hl.filters.generate_dcpl`. I decided against testing against LZF as it doesn't take arguments.