main: log errors if something happens during status updating
mpd: support disabling crossfade in MPD >= 0.18

Previous to 0.18, disabling crossfade in MPD meant setting its value to
0, which was happily reported by MPD's 'status' command.

Now, setting the value to '0' still means 'deactivate crossfade', but
MPD also doesn't show the 'xfade' value anymore in the status output:

    $ nc localhost 6600
    OK MPD 0.18.0
    status
    volume: 100
    repeat: 0
    random: 0
    single: 0
    consume: 0
    playlist: 1
    playlistlength: 0
    mixrampdb: 0.000000
    state: stop
    OK
    crossfade 10
    OK
    status
    volume: 100
    repeat: 0
    random: 0
    single: 0
    consume: 0
    playlist: 1
    playlistlength: 0
    mixrampdb: 0.000000
    state: stop
    xfade: 10
    OK
    crossfade 0
    OK
    status
    volume: 100
    repeat: 0
    random: 0
    single: 0
    consume: 0
    playlist: 1
    playlistlength: 0
    mixrampdb: 0.000000
    state: stop
    OK

Thanks to the users from https://bugs.archlinux.org/task/37580 for the
initial patch.

Fixes #50