Search features now properly respond to a missing index by returning that there are 0 results when counting.

ElasticSearch now indexes ObjectMetadata directly, rather than copying ObjectMetadata into JsonObjectMetadata.  This change is possible because ObjectMetadata can now be serialized directly.

Note, old search indexes are now incompatible with the current version.  If compatibility with old indexing is required, a fix can be made.
Merge remote-tracking branch 'origin/master'