fade: Allow to set more than one channel in sleep mode.
This makes --ivol a string option which may be specified multiple
times, each with its own channel:value pair. The channel part is
optional, invalid channels are ignored.
This change retains backwards-compatibility, i.e. providing a single
value without "channel:" prefix still works as before.
Unfortunately the patch is a bit large since set_channel() had to be
moved to the top of fade.c. This function grew another argument to
specify the channel to set.