Made Indexer and Searcher share code where appropriate.

Indexer doesn't have its own instance variables for the Lucene index,
forward indices, etc. anymore but now relies on a Searcher opened in
"index mode" (Searcher.openForWriting()). This gets rid of some code
duplication.