Rewrite the generic search provider to use prototypes. Increase performance
by utilizing the model service instead of the object service, and use a
simplified method of request queueing.
The generic search worker now does indexing work during the index operation,
ensuring that queries do not have to do extraneous or repeat calculations.
Change the return format slightly and fixed a bug in the GenericSearchProvider
which caused more objects than intended to be returned from the provider.
Updated the generic provider test. Removed index
checking from the generic search worker, because
that checking is already done (more efficiently)
in the generic search provider.
Moved the elasticsearch provider to
platform/persistence/elastic. Then moved
the search aggregator and the generic
provider into a services folder within
the search folder.