Improved performance of get/set store.

As suggested by Bert, we should not call keylock.get/set for every request.
The Client was modified to keep a local copy of the hashmap and save it back
to master only on destroy.