Design of base components + Clock

* Code improvement
* Clock implementation
* Tests
* License headers
def clockTickTopic(frequency: FiniteDuration) = s"tick:${frequency.toNanos}"