add the KVSClient class which is replaced module level functions
make datatypename and datatypeversion configurable