Internal Cleanup

- Combine SpringClock with looper
- Add SynchronousLooper for doing synchronous simulation
- Add SteppingLooper for doing step by step simulation
- pull in hamcrest for testing and update tests
- activateSpring on velocity or currentValue changed