Fix for code review feedback
This fixes a possible race condition when calling "hasTasksReadyToRun"
This also makes it so shutdownNow returns the runnable list in execution order (since that is what other implementations do)