DatabaseCollection: make generic
collection: use generic DatabaseCollection
DocumentsCollection: iterate key and value
Terms: implement delete document
Searcher: prevent divide zero
Merge branch 'generic-collection'
Indexer: move analyzer to concrete class
move server package to common package
App: use supplied code