fix(userOpLog): delete user operation logs by caseDefinitionId

- the user operation logs will be deleted by caseDefinitionId on
deletion
  of the deployment
chore(db-scripts): add new columns to ACT_RU_EXECUTION

This commit adds two new columns to db table "ACT_RU_EXECUTION":

* CASE_INST_ID_
* SUPER_CASE_EXEC_

Furthermore the foreign key constraint on ACT_RU_TASK.CASE_INST_ID_ has
been removed.

This commit is used as a basic for the implementation of the behavior of
the ProcessTask.

related to CAM-2371
feat(case/processTask): execute a process task

This commit provides the implementation of the ProcessTask.

If a process task becomes "ACTIVE" a given process will be instantiated,
e.g:

  <processTask id="anId" processRef="aProcessToInstantiate" ... />

In that case a new process instance will be started by the given process
definition key ("aProcessToInstantiate").

Furthermore it is possible to declare one of the following
"processBinding":

- latest: means that a process instance of the latest version of the given
  process definition will be instantiated.
- deployment: means that a pocess instance of the process definition which
  is inside the same deployment as the case definitition will be instantiated.
- version: means that a process instance of a declared "processVersion"
  will be instantiated (therefore you need to provide a further attribute
  called "processVersion").

Additionally it is possible to declare which variables should be exchanged
between the case instance and the process instance (and vice versa), e.g.:

  <processTask ... >
    <extensionElements>
      <camunda:in source="a" target="b" />
      <camunda:out source="b" target="c" />
    </extensionElements>
  </processTask>

And the BusinessKey like this:

  <processTask ... >
    <extensionElements>
      <camunda:in businessKey="${caseExecution.caseInstanceBusinessKey} />
    </extensionElements>
  </processTask>

related to CAM-2371
feat(ProcInstQuery/REST): extend ProcessInstanceQuery via REST API

related to CAM-2371
chore(db-scripts): add new columns to ACT_RU_CASE_EXECUTION

This commit adds a new column to db table "ACT_RU_CASE_EXECUTION":

- SUPER_CASE_EXEC_

This column is used to express the sub-/super-relationship between case
instances.

related to CAM-2444
chore(db-scripts): remove foreign key constraint on SUPER_CASE_EXEC_

This commit removes an unnecessary foreign key constraint on column
SUPER_CASE_EXEC_ inside the db table ACT_RU_CASE_EXECUTION.

If a CaseTask is non-blocking then the associated case execution will be
completed after the instantiation of the called case instance. During the
completion of the CaseTask the associated case execution will be removed
and with the foreign key constraint this would not be possible, because
the referential integrity would not be satisfied.

related to CAM-2444
feat(case/caseTask): execute a case task

This commit provides the implementation of the CaseTask.

If a case task becomes "ACTIVE" a given case will be instantiated,
e.g:

  <caseTask id="anId" caseRef="aCaseToInstantiate" ... />

In that case a new case instance will be started by the given case
definition key ("aCaseToInstantiate").

Furthermore it is possible to declare one of the following
"caseBinding":

- latest: means that a case instance of the latest version of the
  given case definition will be instantiated.
- deployment: means that a case instance of the case definition
  which is inside the same deployment as the case definition will be
  instantiated.
- version: means that a case instance of a declared
  "caseVersion" will be instantiated (therefore you need to provide
  a further attribute called "caseVersion").

Additionally it is possible to declare which variables should be exchanged
between the case instances (and vice versa), e.g.:

  <caseTask ... >
     <extensionElements>
       <camunda:in source="a" target="b" />
       <camunda:out source="b" target="c" />
     </extensionElements>
  </caseTask>

And the BusinessKey like this:

  <caseTask ... >
    <extensionElements>
      <camunda:in businessKey="${caseExecution.caseInstanceBusinessKey} />
    </extensionElements>
  </caseTask>

related to CAM-2444
fix(start-camunda); set environment variable

set JBOSS_HOME/CATALINA_HOME variable before starting script
to ensure that the HOME-path is correct for standalone startup

Related to: #CAM-2380
chore(engine-integration): rename ScriptEngineSupportTest
feat(engine-integration): add freemarker and velocity integration test

related to #CAM-2452
chore(qa): add jboss module for velocity

related to #CAM-2452
chore(qa): remove velocity test and dependency

related to #CAM-2452
test(case/processTask): additional assertions
test(case/processTask): rename test methods
test(case/processTask): non-disjunct data mapping

- non-disjunct camunda:in and camunda:out elements override each other
based on the order they appear in the XML

related to CAM-2371
fix(case/processTask): completion of sub instance

This commit fixes the completion behavior of a CaseTask and ProcessTask:
It is not possible to complete a CaseTask or Process task manually.

If the called Case instance completes the first time, this trigger
notification of the associated CaseTask and the associated CaseTask will
be completed automatically.

Furthermore termination or suspending a CaseTask or ProcessTask does not
have any effect on the called sub case or process instance (and vice
versa). Note: Termination and suspending is not part of the public API!

related to CAM-2371, CAM-2444
chore(humanTask): extract description of a human task
fix(engine): write historic variables when initiating sub process

- fixes inserting historic variables when setting variables on the 'start'
notification during AtomicOperation.ProcessStartInitial
- sets the correct ProcessInstanceStartContext

closes CAM-2475
test(case/processTask): add assertions

related to CAM-2371
chore(qa): add freemarker template engine to distros

- remove dependencies of qa runtimes

related to #CAM-2449