Further organize IRCv3 required modules
Implement STARTTLS