core: add shared strings to reduce memory usage

Shared strings are stored in a hashtable with pointer for keys (values are not
used).

The key has a reference count + the string.
The initial reference count is set to 1 and is incremented each time the same
string is asked.

When removing a shared string, the reference count is decremented.
If it becomes 0, then the shared string is removed from the hashtable (and then
the string is really destroyed).
core: add support of shared strings in split of strings (add functions string_split_shared and string_free_split_shared)
core: use shared strings for tags on lines

It can reduce by about 30% the memory used for lines in a buffer.
core: add commment in function string_shared_get (returned value must not be changed)
core: use shared strings for prefix on lines

It can reduce by about 10% the memory used for lines in a buffer.
core: use shared strings for groups/nicks in nicklist
core: fix uncontrolled format string when displaying bufferized lines on startup (lines waiting for core buffer)
core: display day change message dynamically (do not store it as a line in buffer) (task #12775)

Changes in options:
- rename option weechat.look.day_change_time_format to weechat.look.day_change_message
  (color codes are allowed in this option)
- new option weechat.color.chat_day_change.
core: add note about color codes "${color:xxx}" in /help weechat.look.day_change_message
core: fix evaluation of expressions with parentheses

First evaluate sub-expressions between parentheses.

Before the fix:
>> 1 && (0 || 0)
== [1]

After the fix:
>> 1 && (0 || 0)
== [0]
logger: add option "flush" for command /logger
irc: add option irc.look.notice_welcome_redirect to automatically redirect channel welcome notices to the channel buffer
core: fix automatic scroll to bottom of buffer when day change is displayed before first line of buffer
irc: fix extraction of channel name in notice (when message starts with "[]")
doc: update japanese translations and docs
doc: use one line titles in japanese man page

The compilation was failing with asciidoc 8.5.2 (on Debian Squeeze).
doc: remove "required" for password option in command "init" (relay protocol)
core: add option weechat.look.day_change_message2

The new option weechat.look.day_change_message2 is used to display day change
between two messages, with two dates: the new one, and the old one.

Example:

-- Mon, 02 Sep 2013 (Thu, 22 Aug 2013) --
core: add option weechat.look.day_change_message2 in file NEWS
core: update german translations