Intercepting System.currentTimeMillis and implementing SystemClock.setCurrentTimeMillis

This was giving me a lot of woes, since ShadowTime's setToNow (https://github.com/robolectric/robolectric/blob/master/src/main/java/org/robolectric/shadows/ShadowTime.java) is implemented in terms of System.currentTimeMillis

Perhaps it would be best if ShadowTime itself had a setNow method that was separate from SystemClock.
I did not put those changes in this pull request, though would gladly make another for such.

Even within SystemClock, there's disagreement on what "now" represents, either the current time of the UI scheduler or some arbitrary settable long.
I based currentTImeMillis on nanoTime as this felt more intuitive, however I think those two concepts need to be merged.