Set up 3.2-stable branch for dev of 3.2.1

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2399 ed100bfc-0583-0410-97f2-c26b58777a21
Undoing this yet again--for some reason git svn can't figure out that I'm trying to sync to a branch >_M

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2400 ed100bfc-0583-0410-97f2-c26b58777a21
This is superfluous--__hash__ is already defined equivalently in the base class.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2404 ed100bfc-0583-0410-97f2-c26b58777a21
Soften a bit the input validation for Column arguments.  Now, when a Column is directly instatiated by user code, VerifyError exceptions will be raised if any of the keyword arguments have invalid values.  However, when reading columns out of a FITS header (in which case we have to be prepared to accept just about any crazy values), the values are still verified.  But rather than raising an exception (rendering the data entirely unreadable) we just throw a VerifyWarning and continue creating the table data, just while ignoring any invalid keywords.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2405 ed100bfc-0583-0410-97f2-c26b58777a21
A number of "low hanging fruit" micro-optimizations in header handling.
This won't make a noticeable difference for much anyone, but it should
shave a couple seconds off in cases like spacetelescope/PyFITS#46

I won't list every change, but most of them are things like re-ordering
if/elif statements so that the most common cases are handled earliest.

Some of the more significant changes are in handling of RVKCs,
unsurprisingly.  I made some slight tweaks so that we can check for them
faster in the most common cases.  I also added an additional
_rvkc_indices data structure in the Header class to help keep track of
them.

I'm not crazy about the tradeoff here between efficiency and code
complexity, as the additional keyword index does add some complexity,
but it makes failed keyword loopups, which are actually quite frequent
when initializing an HDU and trying to determin its type.  So I think
it's worth it.
Merge pull request #46 from embray/issue-46

FITS File Writing Performance

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2412 ed100bfc-0583-0410-97f2-c26b58777a21
Add changelog entry for #46; I also decided not to backport it to 3.0.x as most of the changes won't apply well to the old Header code in that branch, and it's not really a bug fix anyways.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2419 ed100bfc-0583-0410-97f2-c26b58777a21
Minor fix to the error reporting when a ColDefs is instantiated with a sequence of non-Column objects

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2421 ed100bfc-0583-0410-97f2-c26b58777a21
Slight reorg of tests that will be useful going forward.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2430 ed100bfc-0583-0410-97f2-c26b58777a21
Fixes #8 from https://github.com/spacetelescope/PyFITS/issues/8 by ensuring that checksums are added on HDUs that did not already have them.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2431 ed100bfc-0583-0410-97f2-c26b58777a21
Fixed an issue I caught while updating the checksum tests, though it is not specifically related to checksums.  The issue is that if an image contains pseudo-unsigned integers, merely opening the file and then writing a copy of it will remove all the pseudo-unsigned scaling unexpectedly and clearly undesiredly.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2432 ed100bfc-0583-0410-97f2-c26b58777a21
Changelog entry for the fix in a2cdcef

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2433 ed100bfc-0583-0410-97f2-c26b58777a21
Improved several of the checksum tests to check that the checksums being written are *actually* correct (previously we used PyFITS itself to also verify the checksums, but this ensures that the checksums are also validated against CFITSIO (using precomputed values)).  Also fixed an issue found in the process where checksums were needlessly deleted from a header when validating them.  Some of the tests are still partially disabled due to bugs in checksum computation for binary tables and for compressed images, which still need to be addressed.

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

 1. Writing a binary table HDU with compression left the original HDU's
    data byteswapped (and hence mildly "corrupted").

 2. Compressed image HDUs did not correctly compute the ZHECKSUM and
    ZDATASUM header keywords for the checksums of the original image.

This involved a long-needed breaking up of
BinTableHDU._binary_table_byte_swap into the actual byte swapping
operations, and the parts that wrote to a file.  Now that method just
does byte-swapping, and the details of writing the raw data to a file
object (including the heap) are handled in
BinTableHDU._writedata_internal where it belongs.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2435 ed100bfc-0583-0410-97f2-c26b58777a21
Some Python 3 specific fixes, the need for which were brought to my attention by the updated tests in a565ebf26610e9eecd0a2603ac428f056ed7afbd

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2436 ed100bfc-0583-0410-97f2-c26b58777a21
Ack, removed duplicate changelog entry

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2439 ed100bfc-0583-0410-97f2-c26b58777a21
Fixed a regression introduced in ca3c3a7b56d7c82441e1071a658f3e0537a97d48 where looping over and deleting record-valued keyword cards could, in some cases, result in an exception depending on what order they were deleted in

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2440 ed100bfc-0583-0410-97f2-c26b58777a21
Finally fully deprecated pyfits.new_table in favor of more explicit class methods.  Added support for an ascii=True argument to ColDefs for cases where ambiguity can't otherwise be resolved.  Also fixed up a few minor formatting issues in the documentation that I found while updating the docs to discuss the new table creation methods.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2441 ed100bfc-0583-0410-97f2-c26b58777a21
Fixes the DeprecationWarning reported in https://github.com/spacetelescope/PyFITS/issues/45 The code here for mucking with urllib is, as far as I can tell, just a workaround for http://bugs.python.org/issue1566800 and shouldn't apply to newer Python versions anyways

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2442 ed100bfc-0583-0410-97f2-c26b58777a21
Fix regression on RVKCs that was introduced ca3c3a7b56d7c82441e1071a658f3e0537a97d48, along with some tests to ensure it doesn't happen again.

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