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.
Great question... there may be performance implications of using `Empty`, a boxed column, vs empty(), a dense column. I'll review the ops again... may end up removing `Empty`.