Redis on 'end' event should not permanently unsubscribe handler

Redis clients, by default, will attempt to reconnect to the server when a
connection ends. The 'end' event is fired when each socket closes, and
does not indicate that the logical connection is permanently closed.

Previously, we unsubscribed from the input channel when the 'end' event
was received. However, this meant that when the connection was
automatically reestablished, message would no longer be handled by the
client.

Now, we no longer unsubscribe the handler, it's expected that the client
will reconnect and buffered messages will be sent at that time. Messages
will be sent to the error channel if there is an error establishing the
connection to Redis.

Issue: #9