Add ITimeSource interface and implementations.
Merge branch 'develop'