refac: Clock is now a separate class

Many new features and old todos depend on clocks. To move those
forward, Lamport timestampgeneration is encapsualted into separate
(pluggable) classes (SecondPreciseClock by default).