Match loaded spec for Kernel#gem and Gem.bin_path

Previously we looked for newer versions when running Kernel#gem and
Gem.bin_path which would lead to executable stubs attempting to use the
latest version when RUBYGEMS_GEMDEPS was active or another version had
been loaded.

Now we first check the loaded (active) specifications against the
requirement and check that version against the given dependency.

Fixes #1072