Reduced usage of the ClockWrapper.  I changed ClockWrapper to do just one thing, which is "semiAccurateTime".  Any updates, or checks for last known time must go through the parent class "Clock".

This also solves an issue where the Clock may update while we have requested no updates to occur.  Causing a jump of time, and possibly causing an item to be placed further back in the queue than it actually belongs.  This would occur by an item being either inserted or repositioned (for recurring).  While doing the binary search to find the insertion index, if the clock changed during this search the item may be placed incorrectly.  I warrent this is very unlikely unless you have tons and tons of tasks.  In addition since we would update the clock manually before doing the search, hopefully this risk not cause a problem.
Fix for unit tests running after the ClockWrapperTest
Javadoc improvments and clarifications.  This provides additional details and in a couple places fixes some minor details in the javadocs which were incorrect.