Refactor connectors modules

* Split implementation from interfaces.
* Move interfaces to a versioned package.
* Move implementations to a versioned package.
Move classes from `platform-core` that are used only in `drivers-*` to `drivers-core`;  remove obsolete classes from `platform-core`
Refactor configuration and data encoders

* Move interfaces to versioned package.
* Split interfaces from implementation.