Check dependencies out in the user’s `Caches` directory

This puts them into `~/Library/Caches/org.carthage.CarthageKit/dependencies/`. Prompted by #81.

- [x] Depends on https://github.com/LlamaKit/LlamaKit/pull/14.
- [x] Depends on https://github.com/Carthage/Carthage/pull/168.
- [x] Depends on https://github.com/Carthage/LlamaKit/pull/1 (I mean, I closed that out, but kinda).
- ~~Is a `nil` value for `bundleIdentifier` possible?~~
- [x] Handle `nil` caches directory failures.
- ~~Submit a LlamaKit PR for `.either`.~~
- [x] Purge the old caches dir.
`either` should only be used with pure closures, IMO. `switch` better expresses the imperativity of what you're doing here.