Merge PyFITS changes into Astropy

This brings in all changes to trunk for PyFITS v3.3.0 between
8d2a54d3ef93e356a0d20a71924cff7ab8c87426 (SVN r2391) and
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.