Changed the behavior around setting different values within the PriorityScheduledExecutor.  If the value is changed in a way that old workers may exist that need to be cleaned up, we now cleanup on that actual call (instead of waiting for another task to complete first).  In addition I made some small changes inspired from the reduced_string_duplication branch.
Merge branch 'unstable_staging' into reduced_string_duplication

Conflicts:
	src/main/java/org/threadly/concurrent/PriorityScheduledExecutor.java
	src/main/java/org/threadly/concurrent/limiter/ExecutorLimiter.java