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
Prevent sources from pointing to a shared mutable dependency list