feat(engine): add #getSerializedValue for variables

- extends interfaces VariableInstance, HistoricVariableInstance,
  HistoricVariableUpdate
- introduces interface SerializedVariableValue that allows to access
  the serialized value of a variable as well as additional type-specific
  configuration parameters

related to CAM-2544
refactor(engine): expose getVariableInstance methods in VariableScope

related to CAM-2544
feat(engine): set variables in their serialized form

- adds interface PersistentVariableScope that allows to set variables
  by providing their serialized value
- extends RuntimeService by methods to set variables in their serialized
  form

related to CAM-2544
chore(engine): add generic type param to VariableScope declarations

related to CAM-2544
fix(engine/test): condition on history level

related to CAM-2544
chore(milestone): provide test cases for milestones

This commit adds missing test cases for the implementation of the
milestone.

Note: Milestones does only make sense in combination with entryCriterias
(Sentries). This means if a milestone does not have any entryCriteria
this milestone will be completed immediately. But if a milestone
references at least one sentry as entryCriteria this milestone will not be
completed immediately. But in the current implementation it is not possible
to complete this milestone using the public Java API, because a milestone
will only completed if the entryCriterias are fulfilled (this behavior
will be implemented with the Sentries).

related to CAM-2385
improve(engine): support system prop resolution in bpm-platform.xml

Allows externalization of environment-specific plugin configuration,
e.g. for the LdapIdentityProviderPlugin

related to CAM-2532
test(engine): add script task serialization tests

related to
https://groups.google.com/d/msg/camunda-bpm-users/TZoOoQBArNI/Lf5ojsfiYXkJ
feat(engine): add set variable from serialized to task service

related to CAM-2544
chore(engine): add interface for variable type specifications

- allows potential extensibility by custom variable types
- adds missing license headers

related to CAM-2544
refactor(engine): allow different spin formats for spin variable type

- enables to store some variables in one format and others in a different
  format
- has one default format that is used when setVariable(name, value) is used

related to CAM-2544
refactor(engine/container): extract JMX core

make contianer implementation reusable in OSGi environment
test(engine): test getVariableInstance* methods in VariableScope

related to CAM-2544
fix(rest): replace all parseDateTime by parseDate from DateTimeUtil

related to #CAM-2647
test(engine): add assertions

related to CAM-2385
test(engine): test set null for SpinSerialization variable

related to CAM-2544
chore(engine): remove unused CoreVariableScope#createVariable methods
chore(qa): remove ReflectUtil usage from webapps integration test

- ReflectUtil is not available in jbosseap test so use classloader
  for resource loading

related to #CAM-2647
wip(engine): add filter entity, manager and service

related to #CAM-2628
wip(engine): add task query to json converter

related to #CAM-2628