Add fix to build without having gem installed

Without this fix gem precompile would only succeed if the gem was
installed. This fixes that.

The problem is the builder calls spec.gem_full_path to figure out where
to start the build. This is made of gem_dir + extension name. We extract
them gem to a temporary location and do not install to gem_dir.

There is no easy way to pass gem_dir along so we can set it when the
builder accesses it. So the only clean way around this appears to be
patching the Spec to return the gem_full_path pointing to our workroot.

This fixes precompile so it will build all gems without them been installed.