[WIP] Resolver

Closes https://github.com/CocoaPods/CocoaPods/issues/978, https://github.com/CocoaPods/CocoaPods/issues/1489, https://github.com/CocoaPods/CocoaPods/issues/2002

This branch is very much a work in progress, but I wanted to give us a place to discuss the final steps of integrating [the resolver](https://github.com/CocoaPods/Resolver) back into CocoaPods.

This PR won't be merged for a while, so I welcome any and all feedback.

Major (non-code) holdups:
- [ ] Name for resolver gem
- [ ] Launch version for resolver gem
- [ ] Specs for conflict Podfiles that we now support
- [ ] Performance torture testing
- [ ] More complete documentation
- [ ] Analyzer specs for handling implicitly locked dependencies (https://github.com/CocoaPods/CocoaPods/issues/2318)
- [ ] Code review of the resolver gem itself
Sure, though I don't see why it needs to be an `ivar` and not just a locally scoped variable