Added async disk cache classes

This is my attempt to write async versions for LimitedDiscCache and TotalSizeLimitedDiscCache which doesn't make synchronous file system calls when being created. 

I would be happy to get your feedback and get them merged if they look OK.