Adding thin client shell for Voldemort Coordinator
incorporating minor code review comments for voldemort thin client shell
Changing year in copyright
Add backward-compatibility checks for store xml update
Add ReuseAddress for HTTP service

This fixes the bind exception for unit tests
Add TODO to handle RO in KeyVersionFetcher
Fix multiple broken test

1. Fix an issue in AdminClient when doing cluster.xml update and
system store client had obsolete cluster topology which will cause
InvalidMetadataException
2. Fix an issue in StreamingClientTest
Update a test to prevent NPE in test
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