Restructure Endpoint generation to allow dynamic and stired structures (#187)
* Remove some console logs
* Rename eventId property to id like on other servers
* Steamline property naming for Event related structures
* Allow to define discoveryCapabilities structure when getting pairing code
* Enhance Array type
* Rework Endpoint structuring
* Composed devices should only be used on an Aggregator
* introduce a custom uniqueId when adding endpoints to be used for endpoint storage
* add removeBridgedDevice to remove a device from a bridge
* Restructure endpoint structuring to split responsibilities to where they belong
* Structure changes are reported back via a structure-changed-callback to commissioning server to update structures on changes
* update server/client-lists-attributes when adding/removing clusters
* determine a unique endpoint id key from custom-unique id or serialnumber or unique id
* leave logic to update partslist on endpoint
* Add EndpointStructure class on InteractionServer to hold and handle all relevant endpoint structure data and move logic from endpoint to this
* Add Event relevant methods and structures here too already (used later)
* Endpoint structure is updated on structure changes
* Update examples and add unique id parameter
* Changelog
* Address review feedback