Adding more functionality to BudgetDatabase.

The BudgetDatabase now has a clock, which it uses to timestamp budget chunks
with expiration times when an AddBudget is called.  (The clock from
BackgroundBudgetService will be removed when it switches to the BudgetDatabase.)

The unit tests were converted to use the new AddBudget instead of SetValue, and
SetValue and GetValue (which did not use the new cache scheme) were removed.

BUG=617971

Review-Url: https://codereview.chromium.org/2188953004
Cr-Commit-Position: refs/heads/master@{#410364}
3 files changed