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.
Can be simplified to the following to prevent unneeded conversion to a list.
Sets.newHashSet(splitPreserveAllTokens(eventFieldsOpt, NULL_BYTE));