normalizePartition now returns NormalizeResult { partition, dropped, clamped }
so callers can report exactly what happened during import. Clamp functions
report when values were modified. Add checkBlobCompatibility() for proactive
size warnings on version switch/merge. Also includes reconcileBlobTypes at
all import boundaries and BLOB_IDX whitelist enforcement.
- Add lib/ota-data/ module: parses esp_ota_select_entry_t structures,
determines active OTA partition from sequence numbers and CRC validation
- Fix all lib files to use `import type` for type-only imports to comply
with TypeScript verbatimModuleSyntax (partition-table, nvs, app-image)
- Export ota-data from lib/index.ts