Prior to this commit, StopWatch used System.currentTimeMillis() to track and report running time in milliseconds. This commit updates the internals of StopWatch to use System.nanoTime() instead of System.currentTimeMillis(). Consequently, running time is now tracked and reported in nanoseconds; however, users still have the option to retrieve running time in milliseconds or seconds. Closes gh-23235