Use git sha as part of extension directory for git referenced gems.

Fixes #2947
Remove deprecation warning caused by use of failure_message_for_should

- RSpec has replaced failure_message_for_should with failure_message in
  https://github.com/rspec/rspec-expectations/commit/bfe92020d5569350c1382235feb9b113907fa2db
- This change removes deprecation warning caused by https://github.com/rspec/rspec-expectations/commit/cd0d347d3115f8aad801e6dc8fe2a311d75626bd#diff-a51020971ade2c87f1d5b93f20d711c7R207
use the newest ruby 2.1 to test with
rubygems 2.2.2 is out now
clone rubygems via https
Merge pull request #2948 from dylanahsmith/sha-ext-dir

Use git sha as part of extension directory for git referenced gems.
tmp not in /tmp? are you kidding me?
remove tmp after exceptions, fix security issue

what is even happen here
er, one tmp per install run. yeah.
oh ffs why was that there
per-gem tmp, copy EVERYTHING rubygems installed
that was duplicated
move ConfigMap into RubygemsIntegration
use named tmp for path gems too
pull out repository subdirectories for RG compat
install to new dir inside root-owned dir
make the sudo test env more obvious
only copy files that exist
Add Rubygems metadata to RSpec
handle extensions from Rubygems 2.2, with test

fixes #2847