title: redis callbacks are not firing after failure
body: <p>sample code that i am using:</p>
  
  <pre><code>var conf = require('../Config'),
      redisConf = conf.get('redis'),
      redis = require('redis'),
      redisClient = redis.createClient(redisConf.port, redisConf.host),
      redisSub = redis.createClient(redisConf.port, redisConf.host);
  
  redisSub.subscribe('test');
  
  redisSub.on('message', function(channel, data) {
     console.log('got message on channel: ' + channel + ' with message: ' + data);
     redisClient.get ....
  });
  
  redisSub.on('error', function (err) {
      console.log("redisSub error: " + err);
  });
  
  redisSub.on('ready', function () {
     console.log('redisSub subscriber ready');
  });
  
  redisSub.on('reconnecting', function () {
     console.log('redisSub subscriber reconnecting');
  });
  
  redisSub.on('end', function () {
     console.log('redisSub subscriber ended');
  });
  
  redisClient.on('error', function (err) {
      console.log("redisClient error: " + err);
  });
  
  redisClient.on('ready', function () {
     console.log('redisClient ready');
  });
  
  redisClient.on('reconnecting', function () {
     console.log('redisClient reconnecting');
  });
  
  redisClient.on('end', function () {
     console.log('redisClient ended');
  });
  </code></pre>
  
  <p>I start the nodejs server, everything is working as expected.
  When i restart the redis server, none of the callbacks get invoked, and i don't get any messages on the channel, and after i restart the nodejs server, the redis clients connect normally and everything works again.</p>