Fixed Searcher.queryDocuments() returning the wrong document ids.

Because Lucene searches in segments with relative document ids, we
reported the wrong ids. Now we correctly convert the id within the
segment to the "index-wide" id.
Distinguished between index and search analyzer.

While indexing, you want an analyzer that can figure out words in text,
by stripping all punctuation, etc. While searching, however, you want to
preserve any non-letter characters such as wildcards, etc.