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.
Javadoc changes.
Simplified time unit conversion (and fixed a couple places that were technically incorrect, but I don't think were possible to hit)
Did not mean to remove this javadoc