Kill the threads

This removes all threading, resulting in a simpler codebase, and should fix #10, #15, and #3.

Instead, the `Watch` loops through subscriptions (greedily, every 50ms for now), and triggers `Consume` / `Reveive` / `Deliver` at each iteration.

`Consume` is changed to pop from the queue (polling) instead of subscribing to receive events.

This has the indirect benefit of fixing detection of new/deleted subscriptions.

Further work will be needed to make it efficient, but there are no more thread safety issue ... as there are no more threads.

Being tested on staging.
I can work with `time_to_next_run`.

I wouldn't mention the unit in the name as everything in RM is in "milliseconds since UTC Epoch" (`Routemaster.now`) units.