chore(engine/pvm): sync with execution entity

related to CAM-1684
feat(engine-rest): Add method start process instance by key

related to CAM-1505
fix(test) fix some library paths in the test bootstraping
feat(layout storage) add local storage of size and state of the layout

Closes #1584
Merge branch 'master' of github.com:camunda/camunda-bpm-platform
test(cycle/roundtrip): additional extension element tests

Related to CAM-1635
fix(javadoc) class links and some typos

Closes #CAM-1691
Merge branch 'master' of github.com:camunda/camunda-bpm-platform
fix(engine-rest-was): remove duplicate classes in war
feat(engine-rest): Add method to retrieve process definition by key

- process definition by key returns the latest version
- the same operations as on the given process definition by id are allowed
  on the returned latest process definition

related to #CAM-1505
chore(maven): use clirr to check for api changes

- use clirr maven plugin to check for api changes between major versions
chore(webapp-integration): increase timeout for cargo to 2 mins
chore(procDef/key): return NOT_FOUND when no process definition found

related to CAM-1505
feat(wls): add wls support

- refactor joda time usage to be compatible with wls shipped ones. (1.2.1.x)
- add engine-rest module for wls
- refactor EjbProcessApplication context switching
- harden integration-tests-engine suite test cases
- harden integration-tests-webapps suite test cases
- improve regex for wls (ProcessEnginesFilter.java)

related to CAM-1677,CAM-1678
fix(maven): invalid pom.xml
fix(engine-rest): use DateTimeUtil in tests
fix(maven): typo in profile
fix(maven): revert cargo back to 1.4.5
fix(engine-rest): use joda-time 1.2.1 in wls-compatibility profile
test(engine/boundary): test non-interrupting boundary on MI