raumstatus-update: make $channel a parameter of run() instead of an attr

Since the Coro::Channel should only be used in the run eventloops,
exposing it as an object attribute leaked to much details of our API.
This makes testing a lot easier, since we only have to hand the channel
over to run()
raumstatus-update: convert BenutzerDB to use the run() interface
raumstatus-update: let ::base handle all of our boilerplate