Naive cocoapods caching implementation

- This is a straight copy of the ruby bundler code
- It also allows caching bundler in obj-c projects if you want
- cocoapods doesn't support --deployment for obvious reasons

I think long term it makes sense to modularize the caching code but I
couldn't come up with a decent abstraction trivially and I really miss
the caching having moved to an ios project from ruby.

To be honest I'm not 100% sure this does what I want, not really knowing how the cacher works, and if I need a different directory cache per type of "bundle" I want cached. It seemed like I could just add multiple directories to the same bundle and it would "just work"