ClientNew: fix nullptr dereference after g_get_prgname() failure

Hard-code the program name to "mpd" instead of using g_get_prgname().
The latter has become useless since this GLib variable doesn't get
initialized anymore.
Volume, Output: use new class PeriodClock instead of GTimer
configure.ac: set VERSION_MINOR to 19
Main.cxx: initialize winsock before creating IO thread

Otherwise sockets can't be created during IO thread initialization.
HttpdOutputPlugin.cxx: fix null pointer dereference
configure.ac: prepare for 0.18.6
input/cdio_paranoia: support libcdio-paranoia 0.90
Add infrastructure for using multiple event loops

This change adds two configuration options:

  --with-eventloop=[glib|internal|auto]
  --with-pollmethod=[epoll|auto]

First allows switching between GLib event loop and internal one.
Second chooses backend to use for internal event loop.
Conditional compilation symbols are changed accordingly.
Additional helper macro MPD_OPTIONAL_FUNC_NODEF is added as well.
decoder/ffmpeg: use IgnoreError instead of local Error instance
include cleanup using iwyu
event: introduce generic API for internal event loop
PcmConvert: fix src_format corruption when converting from DSD

Method PcmConvert::Convert() modifies the src_format variable.  This
used to be a parameter, however commit d2679f59c made it an attribute
instead.  The modification to src_format persisted, and the next call
would return garbage.
Util/StringUtil: add StringStartsWith()

Replaces GLib's g_str_has_prefix().
pcm: drop compatibility with libsamplerate older than 0.1.3

Remove compatibility code.
configure.ac: code style improvements

Rename HAVE_WINDOWS to host_is_windows for consistency.
Use 'yes' as true value instead of '1' for this variable.
Use test on this variable instead of case where applicable.
event: implement PollGroup based on Windows select
Clock.cxx: provide all arguments for GetProcessTimes

All parameters seem mandatory, otherwise this call makes MPD crash.
PollGroupEPoll.hxx: add const modifiers where applicable
PcmConvert: add pcm_convert_global_init()

Wrapper for pcm_resample_global_init(), just in case other PCM
libraries need initialization, too.
pcm/PcmDsd: make attributes private