Inject join events serially
Inject join events serially

Previously we just rate limited the injections, but this can back up and
slow down the entire process. We now wait for the previous injection to
succeed or fail before injecting the next event.

martindale/matrix-appservice-irc,matrix-org/matrix-appservice-irc,matrix-org/matrix-appservice-irc,matrix-org/matrix-appservice-irc