Check for Reconnection

This provides a context manager that spawns (and stops and joins) a thread that periodically checks the connections associated with a client. The gevent implementation uses a coroutine, since it monkey-patches threading.