xfer: add new config option file.xfer.auto_crc32

If a filename has a CRC32 tag in it, the file is checksumed while
being downloaded. The result of the checksum match is displayed in the
xfer buffer.
xfer: Specify what checksum matched or mismatched
xfer: Refine crc32 regex
xfer: NULLify xfer_crc32_preg on init failure
xfer: further refine crc32 regex
core: Specify that the conversion is to Kibi/Mibi/Gibi bytes
core: Add timeout to network_connect
xfer: Make socket nonblocking before connect
xfer: Provide uniform infolists for signal callbacks and infolist hook
core: Bump connect timeout to 14 seconds
weechat: Remove all unnecessary use of PATH_MAX

wee-util: Add util_realpath() which only uses PATH_MAX if necessary
wee-string: Add string_strconcat() which concats variadic strings
wee-completion: Use string_strconcat instead of sprintf()
wee-config-file: Use util_realpath()
weechat.c: Add global weechat_dir_absolute_path
plugin-api: Use global weechat_dir_absolute_path
plugins: Export util_realpath() and string_strconcat()
fifo: Use string_strconcat()
script: Use util_realpath()
Make sure strconcat is NULL terminated
Only use sentinel on GCCv4
core: Be more paranoid when writing config files
xfer: Support IPv6 DCC.

IPv6 DCC through a proxy is unsupported in this patch, as the
derp
Fix nonblocking with IPv6 patch
core: Add string_strdup_printf() and string_strdup_vprintf()

These functions can replace the weechat_va_format() macro in
weechat-plugin.h.

Naming convention taken from glib's g_strdup_printf.
core: Implement and export va_list-accepting functions for all
exported variadic functions.

Implements config_vwrite_line(), vprintf_date_tags(), vprintf_y(), and
log_vprintf() and associated macros.