Fixes #261 Squashing non-index attributes into a single mutation. This optimizes ingest and query.

This isn't quite ready for a full review- though anyone is welcome to start looking through the code. There's a ton of things that need redesigning.
Shouldn't you be using getColumnVisibility() here and caching the evaluation?  This would prevent you have having to actually evaluate the vast majority of visibilities.

I don't know if that is what is still done, but at one point that is what the visibility iterator did.