refactor - DO NOT COMMIT THIS TO MASTER!

This commit refactors the code to use case statements and to better
emulate an InspIRCd server especially when connecting.

Please test this and tell me the results. It's still missing support for multiple commands in one packet so DO NOT commit to master.