Make append operation supports type.

Make the append operation require a type; objects are keyed off of type
and key, so it is possible for a key to exist as both a G-Counter and a
PN-Counter.  Require the type for all operations.
Merge pull request #69 from SyncFree/features/csm/append-with-type

Make append operation supports type.