update_walk: fix unsafe readlink() usage
AudioCompress: abort on out-of-memory

This library crashes on out-of-memory (NULL pointer dereference).
There's not much useful MPD can do in such a situation, so let's
explicitly abort instead, just like GLib does.
mpd.conf(5): Use the correct default value for max_playlist_length
decoder/_ogg_common: simplify the large "if" expression
decoder/_ogg_common: fix buffer size check

Fixes potential access to uninitialised memory.
Merge branch 'v0.17.x'
decoder/_ogg_common: rename to ogg_common.c
decoder/ogg_common: apply coding style
decoder/ogg_common: pass decoder to _type_detect()

Allow the function to be cancelled.
decoder/ogg_common: rename to ogg_codec.c
decoder/ogg_codec: return UNKNOWN on error
db_lock: add C++ helper class ScopeDatabaseLock
db/SimpleDatabasePlugin: fix memory leak in Visit()

When visiting a song, GetSong() was called, but this object was never
returned by calling ReturnSong().  This patch locks the database only
once in Visit() and passes the original song object to the visitor,
avoiding the copy.
Makefile.am: rename HAVE_OGG_COMMON to HAVE_XIPH
decoder/{flac,vorbis}: move tag table to XiphTags.c

Merge duplicate data.
src/decoder/opus: new decoder plugin for the Opus codec

Using libopus and libogg.
locate: cast enum tag_type to int before comparing with integer

Avoids clang pickiness.  This code is not correct, but we'll fix that
another day.
decoder/wavpack: support all APEv2 tags

WavPack tags are always APEv2, by definition.  Reuse the tag_table
from tag_ape.c, instead of rolling our own.
configure.ac: don't auto-detect the Vorbis encoder when Tremor is enabled

libvorbisidec and libvorbis export the same symbols, which is a
dangerous thing.  Since libvorbisenc depends on libvorbis, this can
get nasty, so let's disable the Vorbis encoder unless the user
explicitly wants it.
decoder_control: remove MixRamp debug messages

These are confusing, and since MixRamp development has ceased, not
useful to anybody.