Added optional command editing (using JLine library) to QueryTool
Fixed ForwardIndex crashing on tokens files larger than 2GB.

Used multiple ByteBuffers to overcome the 2GB limitation. Better
integrated memory-mapping and keeping the whole file in memory. Wrote
additional tests.
Kept track of tokens file end position instead of dynamically
calculating it each time.
Some improvements to ForwardIndex.

- sped up opening the index by using binary instead of linear search
through TOC
- closed tokens file when reading entire file into memory
- changed the default to not trying to read entire file into memory
(memory mapping is usually the better choice)
Fixed bug in commandline parser.
Added the option of specifying position increments in
ComplexFieldProperty.

This can be used to index multiple terms at the same word position,
which is useful in a number of scenarios.
XmlHighlighter now highlights correctly even if the text content is in
attributes.

This is important for the Alto format. The highlighter will now only
suspend highlighting if it's stricly necessary to maintain
well-formedness, and it deals correctly with self-closing tags. Also
added unit tests for Highlighter.