MockScheduledExecutor: more useful return values for starting events
 - startNextEvent() returns Long.MIN_VALUE instead of 0 if no events
 - startEvents() returns a List of the futures started instead of count
Refactor activity timeout classes
 - add Timeout
 - add RestartableTimeout as interface for ActivityTimeout
 - add ActivityCallbackStream as interface for streams
 - refactor activity timeouts in BaseSsjpEndpoint as StreamTimeout
 - expose activity timeouts in SsjpEndpoint as Timeout