Move the Clock interface and add a Calendar interface.

This was done for two reasons:
1. Remove the dependency on the FlowManager in order to
   use/implement the Clock interface.
2. Easy mocking of Date/Time methods in classes that
   use Clock/Calendar in place of static (unmockable)
   methods such as `new Date()`

- Move the Clock interface to a more sensible location.
- Implement the Clock interface in the DateUtils class.
- Add the Calendar interface for Date related functionality.
- Rename Clock#elapsedRealtime() to Clock#currentTimeMillis()
  to more accurately reflect the actual behavior of the method.
- Deprecate Clock#elapsedRealtime() in favor of #currentTimeMillis()
Fix failing tests.

- Mock that Clock!
- Tests should also now fail once we move Flow and FlowManager
  away from the deprecated Clock#elapsedRealtime() method.
Slowly making our way out of dependency hell.

- Remove the Clock and Calendar interfaces entirely.
- Use DateUtils static methods for Time/Date wrapping.
- Add powermock for static mocking!
- Fix failing tests.
Dont forget classpath entries for  PowerMock
Merge pull request #2 from centro/move-clock

Move the Clock interface and add a Calendar interface.