Add a recurring task execution mechanism

- Lets us run tasks that are used for cleanup operatioins as such
- Does not give exact timing guarantees
- These are run on a background thread
- Implements task to cleanup History after 30 days

Change-Id: I9a499020cb0094d1bae3ec095bc728fe37b0a608