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
Fixed typo docs for custom compression filters
Cleaned up wording describing H5Z_FLAG_OPTIONAL
Merge pull request #436 from lhole/compression-number

Improving documentation for dynamically loaded compression filters
Fix calls in the property class
Adding tests for mdc_config
Cleaning redundant sanity checks (already done in defs/H5P)
Fixed bad indentation
Merge pull request #437 from mbrucher/P_mdc_config_fix

Fix mdc config handling in file access property list