Merge PyFITS changes into Astropy

This brings in all changes to trunk for PyFITS v3.3.0 between
spacetelescope/PyFITS@8d2a54d3ef93e356a0d20a71924cff7ab8c87426 (SVN r2391) and
spacetelescope/PyFITS@2ab1b36e8135beb37bcc53859985a52a82a0d880 (SVN r2796).  These are all the
changes from that period that were not also ported as bugfixes to the
3.2.x branch.

I had mentioned in the mailinglist that I still needed to do this before the 0.4 release.  I thought I made an issue for it but now I can't find anything.  This will make Astropy 0.4's io.fits module basically in line with what will by PyFITS 3.3.

Most of the changes here aren't enormous--that said I should also update the Astropy changelog to highlight a few things.