refactor(ocpp16): track diagnosticsStatus and extract composite schedule helper
- Add diagnosticsStatus to ChargingStationInfo, set at each
DiagnosticsStatusNotification send point (Uploading, Uploaded,
UploadFailed). TriggerMessage now reports actual diagnostics status
instead of hardcoded Idle, mirroring the firmwareStatus pattern.
- Extract composeCompositeSchedule() private method, eliminating
~120 lines of duplicated profile preparation logic between the
connectorId=0 and connectorId>0 branches of GetCompositeSchedule.