pyinstall shouldn't crash if we've already backed out a dependency.

I *think* this occurs for the following reason:

Consider a graph of the form:

  D   # B and C both depend on D
 / \
B   C # A depends on B and C
 \ /
  A   # We want A

If we back out B then we back out D too. Backing out C then throws a
KeyError, since self.best on our Resolver no longer contains D.

In any case, I've seen the KeyError, this is a fix, and I believe the
change is legitimate.

@eeaston any feedback or insight would be warmly welcomed :)