Path: ToUTF() returns std::string
Path: define MPD_PATH_MAX to 260 on Windows
playlist/*: convert to C++
DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond
Path: introduce MPD_PATH_MAX_UTF8
Path: convert fs_charset_to_utf8() to static method Path::ToUTF8()
Path: merge utf8_to_fs_charset() into Path::FromUTF8()
Path: convert remaining funcs to methods, keep fs_charset as std::string
Path::FromUTF8() returns nulled instance on error, add error handling where required
configure.ac: disable libwrap if not compatible with C++

The libwrap version on Mac OS X is broken, it will not work with C++
due to broken function prototypes.
string_util: add fallback for strnlen()

Usually, when strndup() is not available, strndup() isn't either,
because both are POSIX 2008.
PlayerControl: work around std::nanf() not being available on MacPorts
Makefile.cxx: fix test/run_input.cxx path
event/SocketMonitor: add method Steal()
zeroconf: convert to C++
ZeroconfBonjour: use SocketMonitor instead of GIOChannel
ZeroconfAvahi: pass GMainContext to avahi_glib_poll_new()