Properly split long IRC messages

This pull request adds handling of long IRC messages to the core. In contrast to the "splitlong.pl" plugin, multi-byte encoded and recoded messages are properly split.

To allow for this, a new function has been added to the server struct: "split_message". "split_message" returns a string array with the message splitted to substrings of a length that the server can handle. If a protocol module doesn't have any limit, it can simply return a singleton array with a copy of the message.

The "MSG" chat command now calls "split_message" before "send_message", and emits "message own_public" / "message own_private" with each substring, so that the string splitting will be visible in the UI.

"split_message" in the IRC module uses "recode_split" which in turn uses iconv to properly split multi-byte encoded (and recoded) messages.

This pull request also adds two new settings: "split_line_start" and "split_line_end", analogous to "splitlong_line_start" and "splitlong_line_end" in "splitlong.pl".

This fixes issue #1.
Because "msg" doesn't get sent to the server in this case. To be honest I'm not sure when this function is called with "target = NULL". Should msg really be split in this case?