Store timestamps in Nodes

This is a larger update which fixes the shortcomings of Algorithm D'.
Storing timestamps in bindings was not correct in a number of cases.
This solution stores timestamps per parametric instance not per binding.
Known problematic cases now work properly, e.g.

    DefaultParametricMonitor_ab_bc_cd_ad_Test
    DefaultParametricMonitor_ab_bc_ac_Test

and others.

Summary of changes (also see dev-branch):

    Remove diffMask from JoinData
    Fix default timestamp for new Nodes
    Add ModelVerifier
    Add calculateExistingMonitorMasks
    Introduce existingMonitorMasks to EventContext
    Rewrite other parts of DefaultParametricMonitor
    Rewrite monitor creation phase
    Rewrite join phase
    Add disable check for find-max phase
    Add disableMasks to MaxData
    Set timestamp in each node at end of main method
    Use correct time check
    Add dead monitors with timestamp
    Refactor BaseMonitor to Monitor (interface) and BaseMonitor (abstract class)
    Use disableMasks in joinData
    Add toListOfParameterSetsAscending
    Add calculateDisableParameterMasks
    Add tests
    Add calculateDisableParameterMasks
    Add calculateDisableCheckParameterSets
    Rename fsm in test
    Add timestamp to Node