FS#155 hilight -tag
Add a setting to configure rejoin on reconnect behaviour
Squashed commit of the following:

commit 3257794bf762f67e2fc3e7dee24cdf11a9172631
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Sun Jul 6 22:57:00 2014 +0200

    Add information about message splitting to NEWS

    (...and AUTHORS.)

commit 1c73bde23961a3526c4f48e490c3a502f1e429ce
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Sun Jul 6 20:31:58 2014 +0200

    Fix minor coding style issues in message splitting

commit 695a6a7d9bf8ffbe9378c6aff7c69aa259f2c8c7
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Sat Jul 5 03:58:16 2014 +0200

    Allow `server.split_message' being NULL

    Now a module can set `server.split_message = NULL' to disable message
    splitting, instead of having to implement the function.

commit 28a3dbe1641876b71a4805ada9aa25b17e43b1ac
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Thu Jun 19 02:24:25 2014 +0200

    Replace an indent of eight spaces with a tab

commit ff08b3b0224848bf1c4c4e4e8e73c081570f82c9
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Thu Jun 19 01:11:08 2014 +0200

    Replace a `goto out' with explicit freeing

commit 7bfe3a8fa1e9d59f94583390f2904d2f9204b9b5
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Thu Jun 19 01:02:35 2014 +0200

    Introduce a MAX_USERHOST_LEN constant for IRC

commit 29a49c4688b55b2d62dce1638185707c1ec3d51d
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Thu Jun 19 00:50:46 2014 +0200

    Move the definition of the `split_line' settings

commit bb7bafc93cb78dc185565d5750ac3ca5abff2fc8
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Tue Jun 17 18:17:28 2014 +0200

    Split long IRC `ACTION' messages

    Add line splitting logic to commands `/me' and `/action'.

commit 90f3dd612e0d7a6027e60018ca5476e7ddb52f54
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Tue Jun 17 17:25:40 2014 +0200

    Fix the `userhostlen' fallback in `split_message'

    ferret, the author of `splitlong-safe.pl' pointed out that `userhostlen'
    should not only contain the maximum length of the hostname, but also the
    maximum length of the username. Now 10 is used as the maximum username
    length as a fallback. (`splitlong-safe.pl' uses the same limit.)

    The username limit isn't defined in the standard, but 10 is common on
    many networks. The odds that something goes wrong here is low, as
     1) the fallback limit is only used when the user has not yet joined a
        channel
     2) the maximum hostname length (63) gives some error margin as the
        hostname usually is shorter

commit 281c6d437dbc30ffc30c615b8dc773dc937abefa
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Mon Jun 16 21:59:48 2014 +0200

    Avoid unnecessary splitting of lines

    `split_line_end' could force lines to be unnecessarily split. This
    commit fixes the problem by making sure that the last line isn't shorter
    than `split_line_end'.

commit 5c05c854dc298a914de8515a2795fa8dd2adca04
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Mon Jun 16 19:59:12 2014 +0200

    Add configurable split line prefixes and suffixes

    Add settings `split_line_start' and `split_line_end' analogous to
    `splitlong_line_start' and `splitlong_line_end' in `splitlong.pl'. The
    prefixes and suffixes are concatenated with a wrapper function to keep
    `recode_split' and `strsplit_len' simple.

commit e6147fb8f2764392dd685fd8b28f1d69527609cd
Author: Sebastian Thorarensen <sebth@naju.se>
Date:   Fri Jun 13 06:39:02 2014 +0200

    Properly split long IRC messages

    This commit 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.