Column Sanity

I think this PR is finally ready to be merged (+/- some things, I'm sure). It's basically an entire rewrite of the `Column` type and everything that entails. The focus for this rewrite was on speed and always forcing columns back to strict/dense version whenever possible.
I've decided to remove `Column.Empty` as I don't want to encourage its use.