Initial transfer of asciitable 3f7db4 sans test data
Initial working port of asciitable to astropy.io.ascii

Changes:
- Make all imports within package be relative
- Migrated from nose to py.tests (required compatibility functions)
- Added try/except in test modules to retain back-compatibility
  with standalone asciitable
- Reduced excessive data in test_cds_header_from_readme
Make all tests compatible with running in standalone asciitable
Initial code for the Column and Table classes
Improvements to Table.add_column
Add tests for Table initialization and Table.add_column
Added empty __init__.py to table/tests/
Fixed relative import
Allow metadata to be passed in initialization of Column
Added tests for Column
Added methods to remove, keep, and rename columns
Added Table.sort method
Initial ideas for improving table.Table and table.Column classes

- Make Column.dtype a read-only property, eliminate __setattr__
- Clean Column __repr__ and __eq__ methods
- Use try block in Table__getitem__ and __setitem__ to allow for
  table index and slicing access (in addition ot the previously
  supported column access).
- Add Table index_column, insert_column, append_column, and remove_column
  methods which are analogous to the like-named list methods.
Rewrite of Table.add_column to use Column object as input

Table.add_column() has been deleted and replaced with Table.insert_column.
There are associated methods index_column, append_column.  This strategy
significantly reduces the code and API complexity.  Table.add_column() code
reduced to about 7 source lines (plus a few more in Column) and the
complexity of before, after, position etc removed.

However this does require the user to create a Column object in order to add
this to a table.  It might also end up with double copies of data, need to
evaluate.
Experimental rework of Table and Column classes

Previous version of insert_column accepted only a Column object
that was externally created.  Now it takes all the column
attributes as kwargs and creates the Column.  Moved column data
out of the Column object except as an optional reference to
the parent table column

Issue: there is now no easy way to create a new table with all columns
defined at once.  Iteratively building the table one column at a
time is inefficient.

Other minor changes:
- Change "dtype" to "datatype" in Column and Table init.  In both
  cases this is not a numpy dtype object or tuple but must be a
  single value with a data type class.
- Made add_column an alias for append_column (for expediency in
  running existing tests, maybe this alias can go away).
- Updated tests to run successfully.
PEP8 formatting fixes
table: move data attribute back into Column object

Previously there was concern about double-storing column
data if it was held as an attribute of Column.  However,
without data it isn't possible to fully initialize a table
with a list of column objects.  In this implementation
the private _data attribute is set to None as soon as a
parent table reference is set, thus releasing the reference.
After the reference is set col.data returns the view
of the appropriate parent table column.
table: make Column store single np.array instead of structured array.
Allow creation of Table object with existing columns.
Add documentation for the Column class