Hopefully fix the timing issue with preference value removal

In removeValue(), a Future corresponding to removal of the preference from the underlying Chrome storage was returned immediately, with the cached value updated only when the removal was complete. That meant that for a short period after return from the function, the client would still see the old value in the cache.