Added a slightly different version of the patch from #133 to remove excessive import calls in `ExtensionHDU.__setattr__`, and added a test to ensure that this change didn't break the desired functionality of pyfits.EXTENSION_NAME_CASE_SENSITIVE

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1426 ed100bfc-0583-0410-97f2-c26b58777a21
Added a changelog entry for the previous fix.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1427 ed100bfc-0583-0410-97f2-c26b58777a21
Fixed an unintended parsing and verification of ever header card upon opening a file, as reported in #135. Thanks jtaylor!

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1432 ed100bfc-0583-0410-97f2-c26b58777a21
Remove a superfluous call to Card.normalize_keyword.  This will get called again anyways in a few lines.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1442 ed100bfc-0583-0410-97f2-c26b58777a21
Remove another inline import that was affecting performance upon opening files.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1443 ed100bfc-0583-0410-97f2-c26b58777a21
Fixe a misspelled test function

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1444 ed100bfc-0583-0410-97f2-c26b58777a21
A fix an regression test for #136. Superfluous end-of-file padding is still supported, but it doesn't assume that nulls at the end of a header block are necessarily the end of the file, but rather just a malformatted header block.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1445 ed100bfc-0583-0410-97f2-c26b58777a21
Fixes up some of the spaghetti code in the Card class to make a little more sense in how it deals with managing the string representation of a value in a header (so that it only gets updated when actually necessary, such as in the case of misformatting).  This addresses all the issues brought up in #137 and adds some more new regression tests.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1446 ed100bfc-0583-0410-97f2-c26b58777a21
Changelog update for some of the recent fixes that I hope to include in 3.0.7

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1447 ed100bfc-0583-0410-97f2-c26b58777a21
Updated the format of the changelog for 3.1, and moved the fixes from #137 from 3.0.7 to 3.1.  As explained in the ticket #137, it was just too difficult to apply these fixes to 3.0.7.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1452 ed100bfc-0583-0410-97f2-c26b58777a21
Starting experimenting with some fixes to make the GroupsHDU look more like TableBaseHDU.  Still not getting anywhere with the memory leak though...

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1453 ed100bfc-0583-0410-97f2-c26b58777a21
This should solve the problem reported in #138. I'm not super happy
with this, but it should work.  The `_TableLikeHDU` class is updated to have
a `_data_type` class attribute, which by default is `FITS_rec`. But for
`GroupHDU`s it's `GroupData`.  This allows the data for a group HDU to be
created directly as a `GroupData` object, rather creating a `FITS_rec` object
and wrapping it.  The old behavior is what was causing problems.

Of course, there's nothing inherently wrong with wrapping one array type in
another.  In this case the problem was specifically related to the same design
issue that's repeatedly caused reference cycle problems for pyfits tables,
which is that each `Column` object has a `.array` attribute which holds a
reference to the recarray that contains the column.  This creates all kinds of
reference cycle issues.

Eventually PyFITS will switch over to using the Astropy table interface, which
should free up a lot of these issues.  But in the meantime this will have to
do.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1454 ed100bfc-0583-0410-97f2-c26b58777a21
Squashed commit of the following:

commit 2872008aa27e584160da7e7aa2930b1847ddc1f1
Author: Erik Bray <embray@stsci.edu>
Date:   Fri Apr 6 17:49:49 2012 -0400

    Yup. The previous refactoring really made this easy to fix.  Now table data will *always* be scaled back before writing, and if necessary the header will be updated to reflect any post-scaling changes to the data.  Then the header is written (if necessary) and the data written (again, only if necessary).

commit d7237ecd79727c29653df62a3654e7db4216844b
Author: Erik Bray <embray@stsci.edu>
Date:   Fri Apr 6 17:26:12 2012 -0400

    Something that's needed doing for a while.  Moved most of the logic for writing updates to an existing file into the _BaseHDU._writeto method, and out of the HDUList.flush method.  Added a new 'inplace' flag to _writeto which, if true, basically means 'write back to the same file that was read from, with no resizing'.  Moving this into the _writeto method takes a lot of burden off of HDUList, and gives individual HDU types more control over how to write to files when writing a new files vs. writing updates to an existing file.  This change will make it much easier to implement the final step of this fix, which is to ensure that table data gets scaled back before writing changes to the header or the data.

commit 0d5dee52603ce56d2d5d6148fdffdf9fd1b32f93
Author: Erik Bray <embray@stsci.edu>
Date:   Fri Apr 6 16:25:15 2012 -0400

    Finally moved the code for doing a flush in 'update' mode to its own function, as it's a rather large, complicated routine. It might be worth breaking up into two more functions for updating with resizing, or updating in place.  But this is at least better for now...

commit 6325f1130286cceea749e74d9afacd815217654e
Author: Erik Bray <embray@stsci.edu>
Date:   Thu Apr 5 15:42:09 2012 -0400

    A test that demonstrates the problem

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1456 ed100bfc-0583-0410-97f2-c26b58777a21
Fixes #123 (trivial) and adds a regression test (much more involved than the fix itself).

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1458 ed100bfc-0583-0410-97f2-c26b58777a21
Some more updates to the automated release website update script to reflect changes to the website. The generated HTML for the release notes is tidied up properly to fit into the new site template, and the pages that need to be updated are fixed.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1460 ed100bfc-0583-0410-97f2-c26b58777a21
changelog updates in preparation for 3.0.7 release

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1461 ed100bfc-0583-0410-97f2-c26b58777a21
Wrap the string 'np.bool_' in backticks.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1463 ed100bfc-0583-0410-97f2-c26b58777a21
Small documentation formatting fix

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@1465 ed100bfc-0583-0410-97f2-c26b58777a21
Fix a test that wasn't workon on Python 3 due to str/bytes issues.

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