[Utils/Periodic] Add functionality to schedule periodic function calls
[Core] adapter.join() was a stupid idea.

Let’s use gevent.events.Event instead, and just wait until Jeev.stop()
is called when Jeev.join() is called.