Design of base components + Clock

* Code improvement
* Clock implementation
* Tests
* License headers
A clock tick should not be attached to a specific subscription id. A clock tick is only attached to a specific frequency, all the subscriptions monitoring at this clock frequency should receive the same message instance. Thus, the Report parameter is useless and should not be passe through the StartClock message.