track_actions for all participation tracking
Allows us to remove UserParticipationObserver and GroupParticipationObserver. All changes to participations are now tracked by PageHistory::UpdateParticipation. This will test it's subclasses if they take care of the participation in question. The first subclass for which Class.tracks(changes, participation) returns true will be used. This allows us to handle different changes in different classes without a central registry. It requires however for all classes to be defined in the same file or the use of require_dependency directives. For now we still have all PageHistory subclasses in one file.