[Resolution] Add smart backtracking

I'd like to know if there are any performance shortcuts that are obvious here, @floere.

I'd also really appreciate testing this out on some `Podfile`s with resolvable conflicts to make sure the speed increase is real, @kylef @alloy. (I discovered this optimization working with bundler code)

\c @indirect
(Fair warning, Bundler will not be dropping 1.8 and 1.9 support until Bundler 2.0 eventually comes out, sometime in the next 3-9 months, I'm guessing.)

On Sat, Nov 8, 2014 at 7:25 PM, Kyle Fuller <notifications@github.com>
wrote:

>> @@ -194,7 +210,8 @@ def create_conflict
>>          }
>>          vertex.incoming_edges.each { |edge| (requirements[edge.origin.payload] ||= []).unshift(*edge.requirements) }
>>          conflicts[name] = Conflict.new(
>> -          requirements,
>> +          requirement,
>> +          Hash[requirements.select { |_, r| !r.empty? }],
> Ah right, @segiddins will Molinillo support Ruby <= 2.0?
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/CocoaPods/Molinillo/pull/11/files#r20056326