Refactor table Column code into a separate file

I've been meaning to do this for a while since `table.py` is way too big.  Let's see if it passes tests.  Not clear how hard it would be to rebase #1835 and #1833.