message: Actually wait a bit before retrying connections
  Previously this would tight-loop if the connection was immediately rejected.
  This should fix issues with mass-disconnects causing CPU spin.
diff: @@ -346,11 +346,7 @@ ConnectionInstance.create = Promise.coroutine(function*(server, opts, onCreatedC
  );
  return cli;
  }
  - let delay = BASE_RETRY_TIME_MS + retryTimeMs +
  - Math.round((connAttempts * 1000) * Math.random());
  -
  - log.info(`Scheduling disabled for ${opts.nick} on ${server.domain}, `+
  - `retrying with delay ${delay}ms (attempts ${connAttempts})`);
  + // Try to connect immediately: we'll wait if we fail.
  let cli = yield retryConnection();
  return cli;
  }
  @@ -369,6 +365,14 @@ ConnectionInstance.create = Promise.coroutine(function*(server, opts, onCreatedC
  );
  yield Promise.delay(BANNED_TIME_MS);
  }
  +
  + // always set a staggered delay here to avoid thundering herd
  + // problems on mass-disconnects
  + let delay = (BASE_RETRY_TIME_MS * Math.random())+ retryTimeMs +
  + Math.round((connAttempts * 1000) * Math.random());
  + log.info(`Retrying connection for ${opts.nick} on ${server.domain} `+
  + `in ${delay}ms (attempts ${connAttempts})`);
  + yield Promise.delay(delay);
  }
  }
  throw new Error("ConnectionInstance.create: failed to connect - this should never happen");
  