refactor(ocpp): extract version-specific logic from consumer layer
Move remaining version-specific logic from charging-station/ consumer
layer into the ocpp/ component:
- Create OCPPServiceFactory.ts with createOCPPServices() factory that
instantiates version-specific OCPP services, removing 6 version-
specific class imports from ChargingStation.ts
- Move createBootNotificationRequest from Helpers.ts into version-
specific buildBootNotificationRequest methods in OCPP16ServiceUtils
and OCPP20ServiceUtils, with dispatcher in OCPPServiceOperations.ts
ChargingStation.ts no longer has any direct knowledge of OCPP version-
specific service classes. All version dispatch is handled by the ocpp/
component through factories and dispatchers.
Add unit tests for createOCPPServices (4 tests) and
buildBootNotificationRequest (6 tests) in existing test files.