Change test of image copying to include compressed files

Prior to pyfits 3.1.2 compressed files couldn't be opened with write access so they were not automatically duplicated.
Test for existence of keywords in header before deleting keywords

This is part of updating the code to the pyfits 3.1 or later (and astropy.io.fits) header behavior.
Remove debugging print statement
Eliminate usage of pyfits Header.ascard
Fix test_fitskeyword to work with py.test

Turns out the tests were not getting collected because the test class wasn't subclassing from object.
Replace pyfits header.update method with new-style syntax
Replace pyfits header.update method with dict-like setting
Replace pyfits header.update with dict-like syntax
Replace pyfits header.update with header.set

In this particular case, inside a lambda, one cannot use assignment dict-style.
Change pyfits header.update method with dict-style syntax
Replace pyfits header.update method with dict-style syntax
Replace pyfits header.update method with dict-style syntax
Replace pyfits header.update method with dict-style syntax
Replace pyfits with astropy.io.fits