Moved string utility functions from util.c to strutil.c

util.c was getting a bit large...
util.c: Implement path resolution in path_expand() + don't use realpath()

realpath(.., NULL) just isn't portable enough. :-(
ADC: Don't disconnect on a fatal STA message

In accordance with a clarification on the responsibility of handling
disconnects in the ADC protocol:
  http://www.dcbase.org/forums/viewtopic.php?f=55&t=779

Note that C-C STA messages may still result in the other party getting
disconnected (e.g. with a "slots full" response), but that behaviour
already happened even with STA messages of non-fatal severity.
Let path_suggest() honor G_FILENAME_ENCODING + path_expand()/free() fix
commands.c: Fix segfault when calling /refresh on a file
commands.c: Honor G_FILENAME_ENCODING in path argument to /share
dl.c: Honor G_FILENAME_ENCODING when saving downloaded files
cc.c: Fix adc(s) protocol prefix in RF notification
static: Replaced makefile with a shell script + use cross compilation

Shell scripts are a bit easier to work with, IMO. The cross compilation
tools for musl compiled by GregorR really simplify the process as well.
This script doesn't generate binaries for i486 and x86-64 yet. FreeBSD
isn't supported either, but those binaries never worked correctly with
the old makefile anyway.
configure: Fix --enable-git-version when cross compiling
static: Fix build of binaries for i486 and x86-64

There. Now there's nothing the old makefile could do that the new shell
script can't do.
Disable tls_policy by default with GnuTLS 2.x + show warning if enabled

More detailed description is in ncdc.h
uit_msg.c: Use same 'checkchat' function as uit_hub

This allows proper identification and highlighting of nicks in group
chats (to be fixed later on), without having to keep track of nick
changes and stuff in the uit_msg code.
Improved support for group chat

Things mostly work as before, but the msg tab only keeps track of where
it needs to reply to now, rather than with whom we're actually talking.
This also means that all messages with the same reply-to user will be
grouped in the same tab, rather than all messages originating from the
same user as before. This new behaviour (supposedly) matches that of
DC++ and derivatives.

Group chat on DC still sucks balls, though.
hub.c: Use "0.005" as connection on NMDC if no 'connection' has been set

This is to prevent sending an empty connection string in $MyINFO, which
DC++ and derivatives interpret as a bot. "0.005" is the default
connection string used by DC++.
fl_local.c: Directly pass fl_scan_t to fl_scan_(dir|item)

This should save some stack space, I hope. At least it makes it easier
to add more options without adding more function arguments everywhere.
Added "share_emptydirs" setting + have it disabled by default
static: Build everything with --disable-silent-rules (where applicable)
fl_save.c: Pass CID to fl_save() instead of calling var_get()

This removes the db.c/var.c dependency from fl_save.c. Meaning it's now
possible to call fl_save() even when ncdc hasn't been initialized yet.
(It's odd that something like that would need initialization)
fl_save.c: Only check the buffer size once for each fl_list_t entry

An fl_list_t entry never exceeds more than a few 100 bytes at most, so
the buffer couldn't have grown significantly. This also makes the code a
bit easier to work with, as the macros won't cause a 'return' anymore
the return value of al() does not need to be checked anymore (it can't
fail). Also increased the maximum buffer size a bit, to avoid having
GString allocate power-of-two memory when we're constantly growing just
a tiny bit above power-of-two.

These changes resulted in a 10% performance increase for in-memory
serialization. When writing to a file the bzip2 compression dominates
everything, so this improvement is only useful for partial file list
generation on ADC.