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?).
The thing is `.length` is synchronous.  And in memcache API or other async APIs, similar function could very likely be asynchronous.