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