Fixed a couple Python 2.5 issues that came up in the fix to #33:
* The GzipFile class doesn't support the context manager protocol on
  older Python versions, so I changed a test that assumed it did
* Added a workaround to an issue where reading past the end of a
  GzipFile raised an IOError; not sure why this problem never exhibited
  itself before.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2293 ed100bfc-0583-0410-97f2-c26b58777a21
Fix some Python 3 specific issues.

One of them was a side effect of the issue #33 fixes:

* On any file object opened in append+update mode (that
  is, 'ab+') we need to normalize to seeking to the beginning of the
  file after opening, since on Python 3 it actually seeks FileIO objects
  to the *end* of the file after opening them in append mode.  This is
  not POSIX standard but is apparently a compromise with other systems
  that do have this behavior?

The others I'm not sure are related to #33, but hadn't come up before:

* Fixed writing padding bytes in the FitsHDU class--previously they
  were not ensured to be encoded as bytes.

* A strange issue with memoryview objects which, when used with nd Numpy
  arrays don't actually provide a raw byte buffer like the old buffer
  interface did.  Rather, you get a memoryview with the same shape and
  itemsize as the Numpy array, which is not useful when we tried to
  write to a file.  Instead just flatten the array and let Python's
  f.write work out how to get to the raw bytes.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2294 ed100bfc-0583-0410-97f2-c26b58777a21
This should really probably specify 'ab+', since just 'ab' is write-only anyways.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2295 ed100bfc-0583-0410-97f2-c26b58777a21
Fix a long-standing bug where writing a table with variable length
arrays didn't update the max array size in the column format in the
header.  I thought I had fixed this, but apparently I only did so for
compressed image HDUs.  Normal binary table HDUs still had the problem
(leading me to think there's some more refactoring to be done, given
then compressed image HDUs are just binary tables--they should be
sharing the same code for this I'd imagine).

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2296 ed100bfc-0583-0410-97f2-c26b58777a21