Further improvment on inserting at a correct point in the NoThreadScheduler
This includes a nice performance improvement because we are not querying for accurate time as frequently.
This also changes it so that if the clock advances (by a little or a lot) while looking for the insertion point, we will be more tollerant to find the insertion point.
I am not 100% confident in this ability yet, but in theory in the future we could do something similar as this for the PriorityScheduledExecutor
Renamed PriorityScheduledExecutor into PriorityScheduler
This is more consistent, and more concise.
Revert "Renamed PriorityScheduledExecutor into PriorityScheduler"

Since we did not include this in 1.3.0, and since PriorityScheduledExecutor is closer to java.util.concurrent.ScheduledThreadPoolExecutor, we will just keep the name for now.  I filed #87 to consider this further.

This reverts commit c7c27eafa9f02c1cf652bfaffae8c65f5312b3a1.
This fixes #85
Our logic was flipped for checking if we needed to look to add workers.  In addition we had an off by one for adding those workers, as well as prestarting the core threads.
I also found a small optimization chance to reduce the clock lookups when trying to get get an existing worker.