Remove NumpyOutputter and support masked table in io.ascii

Conflicts:

	astropy/io/ascii/core.py
Remove Keyword class; change Daophot to put keys into meta

Conflicts:

	astropy/io/ascii/core.py
Remove table as attribute of io.ascii Reader object

Conflicts:

	astropy/io/ascii/core.py
Refactor pprint._pformat_col into an iterator + post_processor

Split _pformat_col into an iterator section that iterates over
the string-formatted column values instead of collecting them
into a list.  The post-processing part then does stuff that is
needed for pretty-printing.

The driver for this was to use the iterator (and all the nice
formatting machinery) to do the string formatting in io.ascii.write.

Conflicts:

	astropy/table/pprint.py
Add Column method iter_str_vals to iterate over string-formatted values
Update io.ascii.write to use Table columns and Column.iter_str_vals method
Remove io.ascii Column iterator and formatter refs

Conflicts:

	astropy/io/ascii/core.py
PEP8 fixes

Conflicts:

	astropy/io/ascii/core.py
Continued transition of io.ascii to Table - tests pass
Remove Memory reader and memory_tests.py (replaced by Table)

Conflicts:

	astropy/io/ascii/__init__.py
Change Daophot reader to return keywords as OrderedDict instead of list
Support units and format in io.ascii (initial use-case of Daophot)

This commit modifies the TableOutputter to copy any io.ascii column format and
units attributes to the corresponding attrs in the output Table columns.  The
initial use case is Daophot, which includes both units and format info in the
default specification.  Some side effects of this change cropped up and are
dealt with here.

Reading the format and units info for Daophot required modifying the
ContinuationLinesInputter to have a no_continue attribute that provides
a regex which disables line continuation when the regex matches.  It
also required rewriting the header parsing for Daophot.

The Daophot table is also the basis for all write tests, which is good because
adding the format info highlighted a known issue that when writing tables with
format specifiers like "%10.2f", the extra spaces generated by that output
fooled the Python CSV writer into thinking the spaces had to be quoted.  This
is a little tricky to deal with because in theory a table could have values
with significant whitespace on the ends which cannot be stripped.  This forced
adding a new strip_whitespace kwarg to ui.write and iu.get_writer that allows
explicit control in case the default behavior is not correct.

The latex splitter join method had to be modified to strip extra whitespace
from the formatting.

A number of test write outputs changed slightly because of the application
of the proper value formatting.

Conflicts:

	astropy/io/ascii/core.py
Improve docs for io.ascii CDS reader (explain format requirements)
Minor doc fix on Cds reader
Correctly support IPAC table null values

When 'null' occurs in the NULL row it now generates a fill_value entry
that will create a True mask if 'null' occurs in the data.

Closes #361 (Issue with null values in IPAC tables) and addresses half of issue #463
(astropy.io.ascii and astropy.io.votable fail with this table).
Use str(units) when outputting the units row in table pprint

Since column units can now be a Unit object, it must be stringified
before further processing.
Change io.ascii ipac.dat.bz2 test file to match the new ipac.dat
Fix table column repr so units are displayed properly
Add description (aka explanation) to column meta in io.ascii CDS reader
Add example of accessing column units and format in Daophot docstring