I refactored the SimpleSketchGenerator as follows:

1) Retrieval
the retrieval parts are now in a class SketchRetrieval. SketchRetrieval
takes a docSearcher and a kbSearcher, which one that is, is configured
in SimpleSketchGenerator.

I am a little bit unhappy about the (GalagoRetrieval + SearchParams +
RetrievalMode + RetrievalModel) * 2 (for docs and for kb). Maybe it
calls for a case class to keep things together... but I am ignoring this
for now.

I switched from using GalagoQueryLib to using GalagoQueryBuilder, this
provides more highlevel methods and glues   rawquery and search
parameters together in "ParametrizedQuery". GalagoQueryBuilder
implements query expansion or  PassageRetrieval as evolutions on a query.

2) Trec Export

Trec export functions are moved to SketchLibrary.TrecExportWrappers.
These are static functions which convert Galago Results into a thin
wrapper for the TrecResultWriter. It also takes care of necessary
deduplication of passage results, and making sure that the ranks are
zapped - otherwise GalagoEval spits out wrong numbers.

3) Data flow

I did not quite finish this, but here is the next thing:

Passage retrieval uses a first pass document retrieval to build the
working set. So whatever we do with a passage mode, as a byproduct we
also spit out results for the document mode. The SketchRetrieval
currently takes a constructor argument "isPsg", but this is likely to
change next.