Refactor the event loop

* The intial event loop was wrong, it checked if start_time was
  greater than os.time() -- this is wrong, it should be the other way
  around.
* Add reschedule function
* Add logic to see if experiments needs to be repeated.
* Add an outer loop that keeps chugging along till all the experiments
  are done.
* Rename bootstrap_time to last_run