Revert "Use System.nanoTime() instead of System.currentTimeMillis() almost everywhere.  System.currentTimeMillis() can go backwards!"

This reverts commit 01bebb5d35b46039c3619366d662d8c3736345d1.
Add check to housekeeping thread to handle backward flow of time.