Add support for GSF v3.09 (#125) * Add support for GSF v3.09 * Also introduces a pattern for supporting future new versions of GSF. * Default supported version in the top level gsfpy namespace remains as v3.08 for backwards compatibility. * Provides option for changing default version in top level namespace via a DEFAULT_GSF_VERSION environment variable. * Provides version-specific gsfpy3_08 and gsfpy3_09 namespaces as alternative to defining the default GSF version at the top level. * Include embedded shared object libraries * Fix typo in CONTRIBUTING.md * Additional test for GSF version set via environment * Add test coverage reporting * Note that the top-level gsfpy namespace is not included in coverage reporting as it simply acts as a switch between gsfpy3_08 and gsfpy3_09. * Additional tests * Update code examples in README * Set version to 2.0.0 * Reflect module structure of subpackages in top level namespace * For improved backward compatibility it must be possible to do imports of the form 'from gsfpy.enums import ...' * Mirror all version specific submodules using generic mechanism * In order that imports of the form 'from gsfpy.gsfRecords import ...' can be used with the version-specific implementations of the package it is necessary to mirror those implementations from the top level gsfpy namespace. This is now done in a generic way using dynamic import, so that future versions of GSF will also be supported without any code changes in the top-level gsfpy package being necessary. * Remove unneeded global * Fix paths in README * Fix comment in README * Rename parameter for improved clarity * Tidy up test data and associated documentation * Add comment to Makefile to explain multiple pytest runs