Fix return code of some IRC_WriteXXX() functions

These functions usually write to more than one target, and therefore
can't return value indicating success or failure in a sane way. And, even
more omportant, these functions should send to as much as possible clients
and not stop at the first client which isn't reachable any more!
irc-write.c: Clean up code and add more documentation comments
irc-macros.h: Update copyright, don't forget contributors!