Update additional properties handling in event definition

Problem

With MVC: Enable passing of additional properties vi... (&12212 - closed) we want to add the usage of label, property and value to internal events, but in a way that allows the API to evolve towards also supporting any custom named properties.

Currently event definitions support label_description, property_description, value_description in addition to an extra array.

Keeping it that way would create a potential source of confusion between the tracking API and the event definitions at the same time we want to enforce descriptions for any additional property to create better documentation.

Desired Outcome

Event definitions support descriptions for label etc. in a way that allows evolving towards custom named properties and which is similar to the tracking API itself.

Existing label_description etc. values are migrated towards the new system.

Proposed solution

Change the event definition schema to support:

additional_properties:
   label:
      description: ...
   property:
      description: ...

And migrate the existing descriptions into this schema.

Edited by Sebastian Rehm