addPosition

Add a new position & payload, and start/end offset. A
null payload means no payload; a non-null payload with
zero length also means no payload. Caller may reuse
the BytesRef for the payload between calls
(method must fully consume the payload). startOffset
and endOffset will be -1 when offsets are not indexed.