Fix the worker so it does not leak threads.

Previously, it would start a subscriber thread every time `work`
was called and then leave it running.
Verify that the lua script is current as part of the travis build.