Adding a separate storage engine for Store definitions. Updating MetadataStore to use both innerstore along with this new storage engine

Modified metadata store to get/put/add/delete individual stores instead of the entire stores.xml. Also modified Admin service accordingly

Initializing store definition manager in the test constructor as well - which does not read the config from a directory

De-duping entries while creating stores.xml and fixed the version assignment

Fixing a bug where a put on stores.xml should atomically replace all the existing stores state

Added functionality to update partial stores.xml. Added unit tests for the new functionality
Addressing review comments. Added TODO and fixed some naming in MetadataStore.java
Bug fix in RebalanceRebootstrapConsistencyTest and AdminServiceRequestHandler. Adding wrapper for updateRemoteStoreDefList in AdminClient
More bug fixes in tests trying to update stores.xml with a completely different xml file
Adding schema compatibility check for MetadataStore addStoreDefinition. Restricting schema validation to only AVRO_GENERIC_...
Adding Admin tool functionality to update store definitions
Adding logger messages to the new update-store-defs command