Added a ._data_replaced attribute on HDUs.  This is set to True if a data object other than the original data object loaded from a file is assigned to the HDU's .data attribute.  That way when writing updates to the file we know to write the new data rather than just flush the mmap of the old data.  This required a bit of refactoring in the _TableBaseHDU class to even support modifying the .data attribute in the first place--this is a feature that was never left out intentionally, it was just ommitted through carelessness and, I guess, not enough people asking to add it.  This isn't fully working yet though...

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

Conflicts:

	astropy/io/fits/hdu/base.py
	astropy/io/fits/hdu/table.py
Update the lazyproperty decorator so that custom setters can override the input value.  This is required for the _ImageBaseHDU and _TableBaseHDU data setters to really work in such a way that input values can be converted to the correct types.

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

Conflicts:

	astropy/io/fits/util.py
Adds regression tests and fix for https://github.com/spacetelescope/PyFITS/issues/27

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2237 ed100bfc-0583-0410-97f2-c26b58777a21
Added some words about this Windows installation issues.  Fixes #26.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2240 ed100bfc-0583-0410-97f2-c26b58777a21
This fix should be included in 3.0.12 too.

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2245 ed100bfc-0583-0410-97f2-c26b58777a21
Moved truncation of over-allocated table+heap arrays to the C code.

I'm not sure why I ever expected the existing code to work as written:
creating an array using PyArray_SimpleNewFromData never gives the array
ownership of the data, which mean that writing compressed data always
required making a copy with `np.resize()` it seems like.

Another implication of this is that the created Numpy array doesn't
own the data (as in, the memory for the data was not allocated by
Numpy itself), then when the Numpy array is dereferenced it never
frees the data.  So I think there might be a memory leak when writing
compressed data, but I need to test this.  It's possible such a memory
leak has already been reported but I still need to check on that too.

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

Conflicts:

	astropy/io/fits/hdu/compressed.py
	astropy/io/fits/src/compressionmodule.c
Handle freeing the columns array correctly. The columns pointer in the compress/decompress_hdu functions was never being pointed to the allocated array and was thus always NULL. But we also need to make sure to use PyMem_Free on before calling fits_close_file(), as it was allocated with PyMem_New (then set it to NULL so that fits_close_file() doesn't try to double-free it).

git-svn-id: http://svn6.assembla.com/svn/pyfits/trunk@2258 ed100bfc-0583-0410-97f2-c26b58777a21
Use the DEFAULT_COMPRESSION_TYPE constant here instead of hard-coding RICE_1

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

Conflicts:

	astropy/io/fits/hdu/compressed.py
Added changelog entries for the fixes coming in from PyFITS for now