Added third highlighter type based on lucene postings highlighter

Requires field index_options set to "offsets" in order to store positions and offsets in the postings list.
Considerably faster than the plain highlighter since it doesn't require to reanalyze the text to be highlighted: the larger the documents the better the performance gains should be.
Requires less disk space than term_vectors, needed for the fast_vector_highlighter.
Returns better snippets since it uses a BreakIterator to find passages in the text, sentences by default.
Treats the document as the whole corpus, and scores individual passages as if they were documents in this corpus, using BM25.

Uses forked version of lucene postings highlighter to support:
- require field match option
- per value discrete highlighting for fields that have multiple values

Supports pre_tag, post_tag, number_of_fragments (0 highlights the whole field), require_field_match and html encoding.
All other options are not supported.

Highlighted snippets are always scored and returned ordered by score, thus the "order":"score" behaviour is always applied.