Remove satisfied dependecies from next source lookup

When iterating sources and checking for met dependencies, remove the
actual specs that were satisified by the source from the lookup of
following sources.

This prevents lookup of local gems (from `gemspec` or `path` or `git`
sources) in rubygems source.

fixes #2909
It would be totally reasonable for two Rubygems sources to contain the same gem.

I'm still not sure whether this whole change could potentially break something there.