Fix boundary conditions in kronos

This also adds an `end_id` parameter which is analogous to `start_id`. 
In `DESCENDING` order the semantics become `start_id < event.id <= end_id`--seemed like the right thing to do.