fixed logging format error in sauna.py
fixed remote panel and calendar enable conflicts

all possible input channels (local buttons, remote panel and
calendar) generate start or stop on change. this way they can
be used in parallel. even the calendar event will not restart
sauna if stop button is pressed after sauna activation from calendar.
events started by calendar are stopped by timeout or Soff.
sauna improved - cal enable end does not stop sauna
protected udp_parse from illegal key and value

key must end with W and value members must be numbers
changes in dchannels.py and acchannels.py
fixes found to be needed while tinkering with main_taavi.py