IRC Connection rewrite

TODO
- Flood handling

Ping @ariscop you may be interested in this changeset
Modify Client 4 Connection change+assorted fixes

For instance constants.all is handled by adapter not client ... dont
know why i was doin that
Also isolate IRC_Error
Notice fix + move CTCP to utils (& tests)
Assorted authentication step improvements

Remove global qwebirc.auth
Use app level authentication. Requiring auth indicated by
`app.options.requireAuth`
Some other minor improvements to ICommands and Connection that aren't
worth noting
Fix recursive commands
Only try parting channels
Nicklist styling
Fix #26; nick-menu custom styling
Merge branch 'connection-rewrite'