Fix a typo on the NodeDead event subscription

Change-Id: I4f152b8f425da7f5cfac93256bc55dc22899d144
Remove an unused cancellation token

Change-Id: I0e72af5639c1a3cafc1c968b0d37650aad6492ae
Use standard travis box to build

This will give result faster

Change-Id: I26f53df0e568838ab75ceda20975b6d0dba25951
Add badges to Readme

Change-Id: I2769cf1701f9c25c63f0ae2252cfe5c509fc9c82
Updated source url in nuspec

Change-Id: I7791f10965f72fd5d4d03e28b2274207284dbaee
Adding fake Shutdown method to prepare the change of Dispose

Change-Id: I13be68774029053ca88dbbc390174de0e3c26e10
Rework the Dispose methods, add a Shutdown pattern.

 - Implement the Dispose pattern
 - Get rid of the cumbersome IOngoingDispose pattern
 - Add Shutdown() methods to the client, node and transport. They will
   prevent new requests from being sent, and can possibly force to fail
   all ongoing requests.

The way to close/dispose the memcache driver heavily changes with this
commit, because a Dispose() of the client will free all resources and
cancel all the remaining pending requests *without calling the callbacks*.

The user may not want to Dispose a client with requests still pending,
therefore a Shutdown() method was added to let him/her implement a
graceful shutdown of the driver.

Change-Id: Ia11b4a0810dab192bc53c3b34055d4b021a7b453
Add a property to read the number of alive nodes on the client

Change-Id: Ibd600e718c1fb4f540eb3428338559b06b3e1510
Add a timeout on the authentication requests.

  This will prevent a deadlock when the authentication request fails:
  There is a lock in FailureOnReceive in the transport, but in the
  case of an authentication the lock is already taken by the Initialize
  method.

Change-Id: I0541717148789c23f2d14b825a32dd9108dba7e6
Prevent from a race condition between transport TryConnect & Dispose

Change-Id: I55de31366c26c9915969440ca3e6e84cd982b9af
Jira: STO-789
Fix concurrency bug on authentication failure

Change-Id: Iefd6d69a26b2d0842c820cfa5148fd25334ea334
Fix Moq path in Criteo.Memcache.UTest.csproj

Change-Id: I648ea508a959f7da3b9d2f97a66d770824342edc
Hash pooling factorized

Change-Id: I5c9732b9a406cae54936ffed1884a40aab418163
Add cluster level

Change-Id: Id09e4beb76ffbf9d06fb84ff97915c59bc2c3182
Catch exceptions from Socket.Disconnect()

Change-Id: Ia508206c605871253e16b613b30a1fd53a75d1f8
Jira: BES-2719
Sending Quit before disconnecting

Change-Id: Ie27e9c089e26acf925d24cd8c2980f2c196fd62a
Remove call to transportDead from shutdown

Change-Id: I8566b501c4c903fa6a79af0fea39952a0d2ad599
Refactor the request's expiration time

Change-Id: I33b05f2c992429028e709fec495f69532b816acd