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.
Same as comment above about caching and not using the more expensive getColumnVisibilityParsed() if using a cache.