Move spec_fetcher to Gem::TestCase

This will allow everyone to set up a SpecFetcher declaratively.
Add spec-only creation to TestCase#spec_fetcher

So gems don't need to be built, which is slower.
Use #spec instead of #gem for faster tests

There is no need to build a whole gem which is never fetched.
Switch to spec_fetcher for most old uses

This covers all uses except pre-existing gems created in initialize and
one case where strange things are happening.