Design of base components + Clock

* Code improvement
* Clock implementation
* Tests
* License headers
Maybe split to Message { def topic: String } and Report extends Message { def suid: Long } to cope with ClockTicks which are not Reports.