BatteryInfo now supplies standard linear or enhanced projection curves,
depending on the provider.
Note that the semantics of parsing have changed slightly in that the
value of endTime supplied to onParsingStarted is now the end time of the
historical data and does not include the projection. However, as far as
I can see there is no existing code that depends on the parsing
functionality besides BatteryInfo itself.
Also slightly optimizes the updating behavior of the UsageGraph, since
we are now reconfiguring it multiple times.
Bug: 38400320
Test: make RunSettingsRoboTests, manual on device
Change-Id: Ieff26d31356b34bb38e49f54f979fd80549864b2