improve(cockpit/views): add a css class to the view pills
fix(cockpit/breadcrumbs): add super-process link

Closes: CAM-1865
fix(camunda-webapp): fix db2 sorting of process instances

- db2 alter ordering during the join
- add additional outer order by argument for process instance query

related to #CAM-1718
test(camunda-webapp): fix process instance sorting test

- mysql has no milliseconds
- start process instances delayed

related to #CAM-1718
refactoring(engine-cdi): Rename task form bean

- rename taskForm bean from 'camunda.taskForm' to 'camundaTaskForm' to fix
  IBM Websphere problems
- 'camunda.taskForm' bean exists only for compatibility like 'fox.taskForm'
- adjust testcase

related to #CAM-1698
Merge branch 'master' of github.com:camunda/camunda-bpm-platform
improve(cockpit/states): add styling and tooltips for states

This commit slightly improve the UI by fixing the color coding
of the states and adding some tooltips at several places
(like the badges on the diagram and in the forms).

Related to CAM-1989, CAM-1980
chore(engine): reduce log level on bad user input and optimistic locking

- reduce log level of `OptimisticLockingException` to fine
- add new exception type `BadUserRequestException` which is logged as fine
- throw `BadUserRequestException` if a non existing process is
  cancelled or signaled
- `SuspendedEntityInteractionException` extends
  `BadUserRequestException`
improve(cockpit/plugins): minor improvement and documentation

Add some information about the plugin exclusion mechanism and move the
exclusion collection out from the provider implementation.
fix(engine): do not execute suspended job

- make sure we do not execute a suspended job if the job is created
while executing another job

related to #CAM-2009
fix(camunda-webapp): fix cockpit process instance ordering

related to #CAM-1718
chore(cockpit): adjust tooltip texts

related to CAM-1989
feat(engine/VarInstQuery): handling of binary & serializable types

Binary:
- enable query for binary variabes
- value will not be fetched by default
- value will be fetched if .fetchBinaryValues(); is called

Serializable
- Query will attempt to de-serialize values
- if de-serialization fails, the query will not throw an exception but
provide an error message on the failed variable instance.
feat(engine-rest): variable instance resource

Add new resource:

GET /variable-instance/{id}
	returns the default Json representation

GET /variable-instance/{id}/data
	returns the binary content of a binary variable

related to #CAM-2007
feat(rest): MessageBodyReader for MultipartForm Data

custom JAX-RS @Provider: MessageBodyReader for MultipartForm Data.

related to #CAM-2010
feat(Rest): POST for binary variables

POST the content of a binary variable:

	POST /execution/{id}/localVariables/{varId}/data
	POST /process-instance/{id}/variables/{varId}/data

Content type is multipart/form-data
Parts:
* data: the data. Content type is either
    * octet-stream => handling as byte array
    * application/json => handling as serializable, "type" is required
* type: only for type Serializable: the java type of the json serialized
data

related to #CAM-2011
feat(rest): type for serializable
feat(cockpit): support for binary variables

- Byte array variables can be downloaded and uploaded.
- Serializable variables can be edited as Json Object Representation.

related to #CAM-1419
fix(cockpit/breadcrumbs): retrieve the correct breadcrumbs information

related to CAM-1865
additionally look at CAM-2017
fix(rest): jackson compatibility

use deprecated api to maintain compatibility on IBM WAS 8.x