Asyncronous interface

@lingyan 

First pass at making storage-lru use an async storage interface.  For backwards compatibility/sync interfaces, users can use the SyncWrapper (should I make this automatic?).
`storage.getSize()` and `storage.getKeys()` could be expensive operations depending on the storage.  We should probably avoid using them.  See more details in my comment above (https://github.com/yahoo/storage-lru/pull/10/files#r21879395).