Added ability to specify arbitrary compression numbers, rather than one of a predefined set of compression names. 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 by Andrew Collette.

In order to test compression numbers with gzip, had to refactor the legacy gzip compression values into a global on the `dataset` module. This allows the test to disable this special handling during the test.
Updated docstring on create_dataset to reflect new meanings of compression and compression_opts
Updated docstring on create_dataset, renaming "custom compression filter" to "dynamically loaded compression filter" in accordance with http://www.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf
Added explicit ValueError exception if compression number is not recognised
Swapped to using old-style string format to allow Python 2.6 tests to pass
Added documentation describing custom compression filters
Merge pull request #426 from lhole/compression-number

Support for dynamically loaded compression filters