Make table and column repr be formatted, no more print(t) all the time

I've wanted to do this for a while, and mentioned the idea a few times here and there.  The proof is in the pudding:
 http://nbviewer.ipython.org/gist/taldcroft/6b8635ca8c85885e9f27

The current console repr of table and column is basically numpy array legacy, but it is ugly and not usually informative.  It isn't (and never will be) sufficient to reconstruct the object, so once we let go of that then it might as well look nice.  This will remove the need to always `print` table and col objects, which I do 98% of the time.

Features:

- There is now an option to show the column dtype in the header
- Whenever a table/column is too long to show and gets clipped, then at the bottom a final line shows the full length of the table.

*Yes, this is wicked late, but please can we talk about getting this in 1.0?*

Minor point, but I think the Numpydoc style here is to say `bool, optional` for kwargs.