Add DocumentBackend ... and so much more

[refs #76745910]

* Move ElasticSearch dependency to common
* Move "factories" to common-test
* Add a org.overviewproject.searchindex.IndexClient
* Add InMemoryIndexClient: it a) tests, and b) mixes into other tests

In sum: long live the new ElasticSearch client. It's testable (that's a
plus) and incomplete (that's a minus).

Oh, and our unit tests just got a few seconds slower :(.