Prefer installed gems over remote gems

Now DependencyInstaller knows about installed gems via Installer set.
This allows installed gems that meet a dependency to be preferred over
local or remote gems.

This minimizes the amount of downloading we do and allows developers to
install updated but unreleased versions for testing.