Replaced the old messy macros by a simple ‘define-error’ macro

This new macro should make it easier to get consistent error signaling
throughout the library.
Update irc/error-code.scm to make use of the new error system.
Update irc/message.scm to make use of the new error system.
Update irc/tagged-hook.scm to make use of the new error system.
Update irc/irc.scm to make use of the new error system.
Update irc/gnutls.scm to make use of the new error system.
Refactor create to make recreate possible

Move the socket and addrinfo generation into a different procedure to
make it easier to write a reconnect procedure later on.
Split up close/cleanup into seperate procedures.
Fix a misplaced whitespace bug in irc/message.scm.
error wip
wip