message: send callback on startRTM websocket error
diff: @@ -128,15 +128,22 @@ module.exports = function(botkit, config) {
  botkit.shutdown();
  };
  - bot.startRTM = function(cb) {
  + bot.startRTM = function(userCb) {
  + var userCbCalled = false;
  + var cb = function() {
  + if (!userCbCalled) {
  + userCbCalled = true;
  + userCb && userCb.apply(this, arguments);
  + }
  + };
  var lastPong = 0;
  bot.api.rtm.connect({}, function(err, res) {
  if (err) {
  - return cb && cb(err);
  + return cb(err);
  }
  if (!res) {
  - return cb && cb('Invalid response from rtm.start');
  + return cb('Invalid response from rtm.start');
  }
  bot.identity = res.self;
  @@ -206,7 +213,7 @@ module.exports = function(botkit, config) {
  botkit.startTicking();
  - cb && cb(null, bot, res);
  + cb(null, bot, res);
  });
  bot.rtm.on('error', function(err) {
  @@ -214,6 +221,8 @@ module.exports = function(botkit, config) {
  if (pingTimeoutId) {
  clearTimeout(pingTimeoutId);
  }
  +
  + cb(err);
  botkit.trigger('rtm_close', [bot, err]);
  });
  @@ -222,6 +231,8 @@ module.exports = function(botkit, config) {
  if (pingTimeoutId) {
  clearTimeout(pingTimeoutId);
  }
  +
  + cb(message);
  botkit.trigger('rtm_close', [bot]);
  /**
  