Fix: use 'is' operator for comparison with None
Improve comments
Add more exceptions
Improve _load() method to ignore garbage bytes at the end of file.
Add test case for reading empty (= 0 byte in size) file
Add test case to confirm that files with trailing bytes are still readable.
Add more test cases for extra bytes at the end of file.
Close the file even if GzipFile.__init__() raises exceptions.