Added TimeoutScheduler and OptimizedTimeoutScheduler that uses a time wheel for constant time inserts and removals.