don't force a default format like we used to as this is called earlier

this can be called before any client is established so don't force it to be mp3
in such cases
relay update

This unifies the relays into 1 group and are updated using timestamps and checked
via the workers. This avoids the calling via the slave thread which makes it more
subject to racing against the worker.  The slave thread now only attaches the new
details or updates timestamps, any start up or shutdown is done later by checking
against the timestamps.

A few of the flags are now merged into a bitmask, so any memory footprint change
should be minimal.