Rework on the IndexGenerator class in the metacat-index module
The IndexGenerator class has two purpose - first, to create the solr index for all data objects for a Metacat which is updated to use solr index; second, periodically to reindex those data objects which failed to be indexed during the insert/update.
Since the Metacat-index module can't directly access the information such as ids list, system metadata and et al (it use the hazelcast service) , the IndexGenerator is not very efficient and sometimes is problematic. So we may shift the task from this class to Metacat. Metacat decides when and which docids to be put into the index queue for indexing. Metacat-index module is just a listener.