Remove virtual methods from Message to prevent clearwater UT breakages

Making `get_timestamp` a virtual method on the Message class has broken linking in some Clearwater unit tests. This PR changes this so that instead of a virtual method on Message and a non-virtual one on Event, we have non-virtual methods on both Event and Marker.