added a periodic worker

The periodic worker will call a function periodically based on an input duration
we also need a `defer somepackage.AssertStop(c, w)` immediately after we create the worker, I think (this applies generally -- always defer the stop immediately, and always check its result).