Client: move code to class CommandListBuilder
CommandListBuilder: rename attributes
CommandListBuilder: use std::list instead of GSList
pcm_convert: make C++ safe
decoder_*: convert to C++
output_*: convert to C++
buffer, pipe: convert to C++
crossfade: convert to C++
Client, Inotify: use std::list instead of std::deque

Random access is not necessary here.
MusicBuffer: disable memory poisoning

This is harmful for memory usage, because it forces the kernel to
allocate physical memory, even before playback has started.  No bug
has been found in a few years with this, so it's safe to assume that
this code is not necessary.
MusicBuffer: allocate with new/delete
MusicBuffer: move code to template class SliceBuffer
SliceBuffer: lazy initialization

Avoid page faults on MPD startup.  This saves a lot of memory for an
idle MPD.
HugeAllocator: new memory allocator
MusicBuffer: return memory to kernel when stopping playback

Use the new HugeAllocator as backend for SliceBuffer and call
HugeDiscard() when the last chunk was returned.
mpd_error.h: add missing glib.h include
MusicPipe: allocate with new/delete
Mutex: new wrapper for std::mutex, replaces GMutex
MusicChunk: move functions to methods
DecoderInternal: move initializers to constructor