Reland "Add method to rewrite a LevelDB instance"

This is a reland of 061ac2e7b143a840d1399b56b508fe28436ed144

Original change's description:
> Add method to rewrite a LevelDB instance
>
> Add the infrastructure to remove expired data by rewriting LevelDB
> instances.
> The integration with actual storage implementation will be added in
> followup Cls.
>
> Bug: 823071
> Change-Id: Iff1b93481468423d292266f16a45f6ef4ac6e7f2
> Reviewed-on: https://chromium-review.googlesource.com/1152917
> Commit-Queue: Christian Dullweber <[email protected]>
> Reviewed-by: Victor Costan <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#587980}

Tbr: [email protected]
Bug: 823071
Change-Id: I9f01dd376166879b89650619692a33cef48d19ae
Reviewed-on: https://chromium-review.googlesource.com/1201856
Reviewed-by: Christian Dullweber <[email protected]>
Reviewed-by: Victor Costan <[email protected]>
Commit-Queue: Christian Dullweber <[email protected]>
Cr-Commit-Position: refs/heads/master@{#590262}
10 files changed