docs(README): fix link to image
feat(tests): add abstract integration test base

This commit adds a new integration test case class to the modeler test
suite.

The AbstractIntegrationTest may be used to open, manipulate and save
a diagram in a modeler. It resambles the actual editor behavior as much
as possible.

A test case may use the API methods #open, #execute and #save to
interact
with the opened editor.

A simple integration test built on top of the new foundation is the
RoundtripTest.

Closes CAM-1496
refactor(images): unify handling of images

This commit unifies the way images may be retrieved by in the modeler.
From now on, all access to images MUST happen via the Images utility.

By using the utility

- image loading is delegated to Graphiti
- all registered IImageProvider_s (across different bundles) are taken
  into account for loading the image

Closes CAM-1499
chore(customTask): rename extension point definition

Related to CAM-1394
chore(diagram/features): restructure FeatureMap

Related to CAM-1394
fix(property-panel): refresh asynchronously

Related to CAM-1487
feat(customTask/palette): add palette integration api

It is possible to specify the palette integration for a custom service
task via the ICustomServiceTask#getPaletteIntegration() method.

Related to CAM-1394
feat(propertyPanel/fieldInjection): add FieldInjectionUtil

Add the utility FieldInjectionUtil that may be used to create
input fields that bind against field injection types.

Closes CAM-1506
feat(formFields): Add cancel and esc handling and CTRL+Z to dialog.

- ModelerDialog contains the whole implementation for CRTL+Z, cancel and
  esc in dialogs
- add validation for mandatory fields
- make help text for mapping tables configurable

- "Form Fields" tab is now activated in the code base

related to #CAM-1398
Merge branch 'master' of github.com:camunda/camunda-modeler
fix(formFields/detailsDialog): Use no internal eclipse classes.

related to #CAM-1398
fix(callActivity/calledElement): Fix namespace for calledElement attribute.

closed #CAM-1510
fix(core): Fix NPE when participant have no processRef attribute.

closed #CAM-1497
fix(contexMenu): Delete unnecessary code

related to #CAM-1494
fix(AbstractIntegrationTest/Kepler): Use other save() method from graphiti

- method "save(final TransactionalEditingDomain editingDomain, final
  Map<Resource, Map<?, ?>> options)" from graphiti EmfService class is not
  supported in Kepler

related to #CAM-1496
fix(subprocess): Add handling for collapsed and expanded subprocess.

- DI for a new subprocess has attribute "isExpanded=true", for that it is
  necessary to override the method "createDi"
- default value of attribute "isExpanded" is "false"
- change handling of "BPMNDIAttributeDefault.USE_DI_VALUE" to get the
  DI value of the current BPMNShape for subprocesses
- change super class of "ExpandFlowNodeFeature" because it seems that the
  old super class "ShowDiagramPageFeature" make no sense in the subprocess
  context

related to #CAM-1500
fix(formFields): Fix NPE in form field mapping table and improve usability in details dialog.

- add OK button deactivation when value of id and type field was deleted
- add new test case for the deletion of user task extension value
  and fix with this one the NPE in form field mapping table -> add
  one more notification change filter

related to #CAM-1398
fix(di/defaults): apply defaults on di create only

DI defaults are used and applied when the DI is newly created, only.

Simplifies subprocess#isExpanded detection.

Related to CAM-1500
feat(formFields/dialog): squash changes on OK

Partial implementation of git versioning system ships with this commit.

- upon OK press in dialog, changes are squashed (áka minified) to a
single re- and undoable command
- functionality is available in CommandUtil

Related to CAM-1398
fix(call-activity): make call activities unresizable