Key aware chunk reader

Make chunk reader optionally key-aware. Enable this feature for reducers in hmr such as to not split keys across chunks.

Implementation note: this is done as a post-processing step after the result vector has been created, so it's not the most efficient way. It may be possible to run it as a part of the wrap-up from the buffer into the result object.