This patch adds optional payload support to MemoryIndex. BytesRefArray was useful here.
I added a configuration flag setting to Highlighter's QueryScorer and WeightedSpanTermExtractor so it gets propagated thru. There are tests at the highlighter level and MemoryIndex level.
The only nocommit here is related to the maxReusedBytes option introduced by Simon Willnauer ... I didn't incorporate that. Perhaps BytesRefArray should have a constructor to provide one's own ByteBlockPool? Can we re-use the existing ByteBlockPool in MemoryIndex for this purpose?