Change Async interface to return task
Change tests to use SetAll
Add AsyncMemoryCachingService and its test

AsyncMemoryCachingService perform things synchronously as it only a
memory operation.