Clock: Don't update if updated already
Clock: Don't update if updated already

The clock update thread will no longer update the clock if it was already updated since the last check anyways.

So in cases where you are using a PriorityScheduler, or in other means asking for accurate time, this update thread will no longer invoke the clock call to update.  API wise this is not a breaking change, since we are still ensuring the minimum update frequency (someone else just updated it on our behalf anyways).

Performance wise, avoiding these kernel calls is always good if we can.  Since this happens 10x a second, it's not massive, but as always I try to optimize as much as absolutely possible.

Based off my JMH benchmarks, assuming we would have to update the clock every time anyways (so absolutely worst case).  The additional conditionals, and writing to the two variables, we end up losing about 8% efficiency.

That said, this probably (up for discussion) makes sense when you think about the big picture.  The times when we would be updating the clock's references are times when load is likely lower.  Since a busy server is likely submitting tasks and requesting time references just by the needs of what it is doing.  We can now avoid these extra (and likely unhelpful) clock invocations, which are TONS more expensive, during these heavy load times.  That 8% performance loss is likely felt most (if such a thing could be described as felt considering this call is so cheap as it is) when the system is basically idle, and thus likely does not care anyways.

threadly/threadly,jentfoo/threadly