Full hookup of BudgetManager interfaces to BudgetDatabase.

This includes changing the GetBudgetDetails on BudgetDatabase to use the mojo
types and plumbing the result through the BudgetManager. It pulls out all of
the old implementation in BudetManager that used the prefs to store data
(although cleanup of that isn't quite complete). It also replaces the old
GetBudget/StoreBudget calls in the push messaging system with the new Consume
call.

Tests were added in BudgetManager for the new reserve functionality, and any
tests of GetBudget that were still applicable were moved from BudgetManager
to BudgetDatabase.

BUG=617971

Review-Url: https://codereview.chromium.org/2281673002
Cr-Commit-Position: refs/heads/master@{#417236}
10 files changed