Use charge_full_design instead of charge_full to determine max.

It seems that on some batteries, charge_full can be erroneous, reporting
a much lower maximum than is actually attainable (for example, on this
laptop, it reports around 75% of the actually attainable battery
charge). This results in >100% readings, so we should preferentially use
the charge reported by the battery as its "design" maximum.