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 think it's possible that `this.size == that.size`, but `this.bits.length != that.bits.length`, in which case you could hit an out of bounds exception here?