File driver tests + GC-related bugfixes + plist default constructor bugfix

- All extern declaration and generated properties are marked as @nogc
- H5ID destructor is now @nogc
- H5ID::registry may contain links to destroyed objects to avoid gc in ~this()
- H5ID.id() is now @nogc
- Added tests for different file drivers
- Default constructors for property lists now properly return a new id (copy)
- H5PropertyList is now abstract/package
- Added H5PropertyList.opEquals