decoder/gme: fix song duration

The unit of gme_info_t::length is milliseconds, not centiseconds.
MusicChunk: copy AudioFormat only when chunk is empty
MusicChunk: remove special case for num_frames==0

Simply return an empty WritableBuffer, not a nulled one.
DecoderAPI: use std::min()
doc/protocol: fix description of "stats" response

Fix incorrect description of the "songs" field and add missing
"albums" field.

Signed-off-by: Joachim Fasting <joachifm@fastmail.fm>
output/{alsa,oss}: add assertions
output/alsa: fix endless loop at end of file in dsd_usb mode
PlaylistControl: move code to new method SeekSongOrder()
PlaylistControl: use SeekSongOrder(current) to keep current song

The "current" attribute is a "song order", not a "song position".
This is usually the same - except in random mode.  Fixes Mantis ticket
0004073.
release v0.18.13
Merge tag 'v0.18.13'
output/alsa, pcm: rename "DSD over USB" to "DoP"

The standard has been renamed since the early draft that was
implemented in MPD.
nfs/Connection: fix assertion failure
nfs/Connection: use nfs_get_error() for mount error
input/nfs: notify client on error

Fixes hanging NFS client.
nfs/Connection: nfs_get_fd() can return -1

While reconnecting to the NFS server, the socket is -1, because there
is no socket.  Fixes a potential crash (assertion failure).
nfs/Connection: use only BroadcastError()

Since BroadcastError() calls BroadcastMountError(), there's no need to
check mount_finished here.
nfs/Connection: check for disappearing libnfs socket
doc/user: remove redundant encoder plugin settings
doc/user: add links