Fall back to IndexSet if APISet experiences errors

Sometimes the RubyGems.org dependencies API fails sporadically.  This
causes gem installs to fail, but the static index (should) still be
available.

Now when a failure from an APISet is detected it is replaced with an
IndexSet and the dependency is re-fetched.  This should allow gem
installation to proceed as normal.