[suggestion] Implement IRCv3 labeled-response for more reliable command success detection (etc.)

Okay, so I’m gonna add an example how a reply to a JOIN would then look like:

< @label=abc123 JOIN #pokket
> @label=abc123 :tmi.twitch.tv BATCH +xyz123 labeled-response
> @batch=xyz123 :satisfiedpear!satisfiedpear@satisfiedpear.tmi.twitch.tv JOIN #pokket
> @batch=xyz123 :satisfiedpear.tmi.twitch.tv 353 satisfiedpear = #pokket :qual1tykillz michaeloreilly5000 [more names...]
> @batch=xyz123 :satisfiedpear.tmi.twitch.tv 353 satisfiedpear = #pokket :purunga20 neoash [more names...]
> [more lines with names...]
> @batch=xyz123 :satisfiedpear.tmi.twitch.tv 366 satisfiedpear #pokket :End of /NAMES list
> :tmi.twitch.tv BATCH -xyz123

It basically introduces another server-generated identifier for all the lines that belong to the reply to your command, and there’s definite knowledge about when the reply ends.

Also, while I’m at it, there should also be some kind of reply to a failed JOIN. The only thing you can do right now to verify that a join worked: race the join against a timeout that’s longer than your current latency, and hope your latency didn’t just increase. The fact that I had to include the word “hope” tells enough.