base_charge_control_end_threshold was marked #[serde(skip)] so it only
lived in memory. triggering one-shot charge then restarting asusd would
permanently lose the original charge limit.
- remove #[serde(skip)] so the field gets persisted
- add serde default of 0 for backwards compat (skips restore for
upgraded configs missing the field)
- add comments explaining Default vs serde default asymmetry