Stock UPower maps the kernel power_supply 'status' to Device:State but
drops 'charge_type' entirely, so the entire fast/trickle/taper
distinction is invisible over D-Bus. A device reads 'Charging' the
whole constant-voltage tail, which is how a lock surface ends up
showing 'Charging N%' forever on a topped-off pack.
Add ChargeType (mirroring POWER_SUPPLY_CHARGE_TYPE_*) as a separate
uint property, read from sysfs 'charge_type' next to status. Also add
PercentageTrusted: capacity is derived from charge_full/energy_full,
and a driver change reporting wrong units makes a healthy pack read
~1%. Mark it untrusted when full is implausibly small vs design so
consumers can suppress the meaningless number.
Generated skeleton, lib props, Linux backend read, and introspection
XML all wired. Builds clean, self-test passes.