Extract PositionCache to separate file, make it persistent.

PositionCache should be persistent and outlive NetworkLocationProvider,
similarly to how LastPositionCache behaved. This lets us limit the
number of API requests, since WifiData -> Geoposition mappings are
stored longer.
Also, LastPositionCache can now be merged with PositionCache.

Bug: 672760
Change-Id: Ibd4c30c9a58dd26deb5f67448b5e2bac48d634fc
Reviewed-on: https://chromium-review.googlesource.com/c/1273055
Commit-Queue: Maciej Pawlowski <mpawlowski@opera.com>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Matt Reynolds <mattreynolds@chromium.org>
Auto-Submit: Maciej Pawlowski <mpawlowski@opera.com>
Cr-Commit-Position: refs/heads/master@{#633681}
21 files changed