Adds nag message when async tasks are not properly shut down and adds a limiter for sync tasks. Once they use 35ms in a single tick, any remaining tasks are not executed until later ticks. Adds a method to report the pending tasks and one to report active worker threads
Currently, there is no way to know if a task is still being handled by
the scheduler. This method, along with isCurrentlyRunning() allows a
plugin author to determine if a task is waiting to be executed, being
executed, or neither.