Async response handler

Use sequence numbers in opaque to find callbacks rather than rely on
ordering. In general, memcached will respond in order, but this way (1)
it fixes the bug when performing several commands before socket
connection has completed and (2) we're not *reliant* on ordering.