Added CASNext(), a non-callback-based version of CAS().

The original functional form of CAS() is problematic for go-couchbase
because it results in the memcached connection staying in use while the
client callback is running. The new form returns to the caller after
every iteration, so the caller doesn't need to reserve the connection.
This will help fix a deadlock issue with go-couchbase and the sync
gateway. (See couchbaselabs/sync_gateway#119)
Damnit, Travis. go is 1.1.1
CASNext shouldn't trigger infinite loop on server error

Legit server errors updating a value (e.g. E2BIG) would cause CASNext to
think there was a conflict and tell the client to try again, resulting
in an infinite loop.