Merge pull request #24 from blue-goji/cas

Implement CAS.
bumpped version
Added support for re-connecting after initiated disconnect. Makes library compatible with Django's memcached cache wich disconnects the client after each HTTP request.
Spell recursive correctly
Merge pull request #26 from johnboiles/master

Spelling, yo!
Merge pull request #25 from yoav-steinberg/master

Added support for re-connecting after disconnect
bumpped version
Revert "Added support for re-connecting after initiated disconnect. Makes library compatible with Django's memcached cache wich disconnects the client after each HTTP request."

This reverts commit 566832ed11e839571b35a7a413abbfeab34fa2ee.
Wrap writes to the socket.
Move connecting to the server to a separate function, so it can be reused.
Implement transparent error handling.

Connections to the server are made as required.  If an error occurs,
behave as though we're talking to a server with no memory, so all
gets return no data.  Reconnect to the server automatically, optionally
delaying to avoid spamming servers with TCP connection requests while
they're down.

This avoids every user of the library needing to roll their own
error handling and reconnection logic.

Internally, this is implemented by making writes no-ops, and responses
return an error code 'server_disconnected'.  This allows the various
callers to _get_response to have a minimum of changes.

Other than allowing callers to enable and disable retry delays, this
doesn't affect the public API.