[READY] Use Any Adapter As Cache

I've added the ability to use any adapter to cache to. I haven't added any tests yet. Once I get your feedback, I can either close this (if you reject the idea), or modify it (if you want parts changed), then write tests.

Useage case:
I am reading files from dropbox, but don't want to have to cache them to memory. Now I can cache them to the disk using the local filesystem adapter as a cache.

TODO:
- [x] Add cache adapter
- [x] Get the approval of @FrenkyNet
- [x] Make adjustments
- [x] Add documentation
- [x] Add tests