[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
Yup. This is handled in the third part of the sorting array, where we go by the total number of possibilities for the dependency.