add support for ENV GEM_SPEC, fix #430
fix tests when GEM_SPEC is set in environment
Alter #489 to use GEM_SPEC_CACHE

This name better matches the default name (gem_spec_cache_dir) and is a
little clearer than "GEM_SPEC" which has multiple meanings in RubyGems.