refactor(core): cancel scope & concurrent activity

Enhance PVM Atomic Operations and Graph Model to provide facility for an activity to cancel a scope
or be executed concurrently to activities in the same scope.

Cancel Scope
============

A PvmActivity may be marekd isCancelScope(). As a result, the PVM will remove all executions
and sub process instances in the current scope before entering the activity. The activity will
be entered with the scope execution.

Cancel (interrupt) scope is used for the following BPMN constructs:

* Boudary Event with cancelActivit="true"
* Interrupting Event Subprocess
* Terminate End Event

Concurrent Activity
===================

A PvmActivity may be marked isConcurrent(). As a result, the PVM will create a new execution under
the correct scope execution before entering the activity. This may require expanding the execution
tree into a concurrency tree in case the current scope execution is a leaf.

Concurrent Activity is used for the following BPMN constructs:

* Boundary Event with cancelActivity="false"
* Non-Interrupting Event Subprocess

Changes
=======

This refactoring has the following positive effects:

* Unification of common behavior between Event Subprocess and Boundary Event and related
  constructs. This will works towards supporting the Non Interrupting event Subprocess
  (see #CAM-112).
* FEAT: Partial support for Non Interrupting Event Subprocess. Proper support will require
  additional parser work for signals and more testcases. #CAM-112.
* FIX: Execution Listeners on cancel scope / concurrent activities now work properly. This
  works towards improving history logging.
* FIX: Write history for Boundary Events (#CAM-1729). This was not possible before due to
  extremely uggly implementation of non-interrupting Boundary Event.
* FIX: Write history for Intermediate Catch Events follwing an
  Event Based Gateway (#CAM-1630)
* FIX: Removes long-standing limitation with boudary events: it is now possible to have
  multiple sequence flows connected to a Boundary Event (#CAM-1730)
* FIX: Non-Interrupting Boudary Event marks Host activity instance "ended"
  in history (#CAM-1710)
* FIX: Connot use Non-Interrupting Boundary Event connected to Parallel Multi
  Instance Subprocess (#CAM-1731)
* FIX: Interrupting Event Subprocess does not cancel event subscriptions (#CAM-1733)
chore(qa): exclude jpa tests for tomcat
test(Interrupting/SubProcess): provide additional test case

related to CAM-1733
fix(signavio-it): adjust ITs to new extensionElements behaviour
fix(signavio-it): adjust ITs to new extensionElements behaviour
wip(qa/performance): first cut of performance framework
wip(qa/perftest): record results as JSON files
wip(qa/perftest): add note about testresults to README
wip(qa/perftest): add SQL statementlog
wip(qa/perftest): add design rationale
wip(qa/preftest): result aggregation & reporting
wip(qa/perftest): add benchmak passes & report
chore(qa/perftest): move framework to src/main
test(boundary/historicInstance): provide some addiational test cases

related to CAM-1729
test(history/endTime): provide a failing test

related to CAM-1753
fix(transaction/history): add listener to fire history events

related to CAM-1754
chore(compensate/history): no history for compensation boundary event

related to CAM-1729
fix(cycle-signavio-it): harden signavio it, update xmlunit version
feat(qa/perftest): add more testcases
feat(qa/perftest): sort reports