[WIP] Resolver

Closes https://github.com/CocoaPods/CocoaPods/issues/978, https://github.com/CocoaPods/CocoaPods/issues/1489, https://github.com/CocoaPods/CocoaPods/issues/2002.

Depends upon changes in https://github.com/CocoaPods/Core/pull/186.

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
> I’d add it to the Pod::Resolver namespace instead

how?