message: Tidy up MemberListSyncer
diff: @@ -351,16 +351,17 @@ MemberListSyncer.prototype._leaveUsersInRoom = Promise.coroutine(function*(item)
  // We need to queue these up in ANOTHER queue so as not to have
  // 2 in-flight requests at the same time. We return a promise which resolves
  // when this room is completely done.
  - let self = this;
  - let q = new Queue(Promise.coroutine(function*(userId) {
  + const q = new Queue(async (userId) => {
  // Do this here, we might not manage to leave but we won't retry.
  - self._usersToLeave--;
  - yield self.ircBridge.getAppServiceBridge().getIntent(userId).leave(item.roomId);
  + this._usersToLeave--;
  + await this.ircBridge.getAppServiceBridge().getIntent(userId).leave(item.roomId);
  stats.membership(true, "part");
  - }));
  - yield Promise.all(item.userIds.map((userId) => {
  - return q.enqueue(userId, userId);
  - }));
  + });
  +
  + yield Promise.all(item.userIds.map((userId) =>
  + q.enqueue(userId, userId)
  + ));
  +
  });
  // Update the MemberListSyncer with the IRC NAMES_RPL that has been received for channel.
  @@ -403,9 +404,10 @@ MemberListSyncer.prototype.updateIrcMemberList = Promise.coroutine(function*(cha
  )) {
  return;
  }
  +
  let usersToLeave = this._memberLists.matrix[roomId].remoteJoinedUsers.filter(
  (userId) => {
  - return ircUserIds.indexOf(userId) === -1;
  + return !ircUserIds.includes(userId);
  }
  );
  