Added object cache for Swift ext storage

This avoid calling the remote API for repeated calls to is_dir,
filetype, etc

I haven't fully tested this yet, but it does seem to be a bit faster.

I'm starting to think we might want to provide a generic cache for remote storages, because the Amazon implementation would also need it. The Dropbox one also has something similar.

@icewind1991