Enhancement of ElasticSearch support, SearchManager, and Serialization

Various updates to ElasticSearch integration. Breaking changes to Solr/Lucene clients but possibly not difficult to implement updated interface requirements.

In general the fundamental difficulty is in the serialization of the mappings and the entities. So far the annotation updates gives a richer support for the mapping property generation, and a serializer option has been added to provide an appropriate means of serializing entities into the required format, which would otherwise be difficult with mappings alone.