Client api

Here is the first version of the client interface. 
The client supports a put/get interface without transactions.
A get operation returns a local container with the CRDT that the user can use locally.
A put operation transforms the local state of the object into a sequence of updates. The put operation does not ensure atomicity when multiple updates are executed.