invoke callback for requester timeout (#7)

allow cancel() for both requesters and schedulers
add RequestSet.cancel_all() method
still needs test cases