The changes here are almost entirely just removing code as we are able to take better use of the super class "SchedulerLimiter".  

Only questionable thing here is we still submit the delayed runnable tasks as a high priority task, since they may just end up queuing anyways, but I could not decide what the best behavior here would be.  In the end it is probably not a big deal either way.