tests/reconnect: Prevent server from being stopped twice
tests/reconnect: Sleep before issuing new commands

This lets the connection receive the socket close event.
tests/reconnect: Add test for selected_db after reconnect
connection: Reset selected db after connecting

Fixes a bug where the client did not select the correct db after reconnecting.
Handle disconnection while subscribed to a channel

This will notify the user that a disconnection occurred by invoking the callback passed to listen() with None instead of a message parameter.

See issue #20
Notify the client about connection exceptions