Fix put on Ruby client

A number of fixes to for the Ruby client's put:
- always update the timestamp when incrementing the version, not just when creating a new ClockEntry
- increment the version before putting, not after, so that it doesn't always hit ObsoleteVersionException
- raise an error when you legitimately do hit ObsoleteVersionException or any other error, rather than silently failing
- pass any explicit version through from the client to the connection rather than just ignoring it