Cache Gem::Specification.load

This pull request caches the result of `Gem::Specification#load`. For some reason, Rubygems will try to load the same gemspec multiple times, so this speeds things up a little bit there.

```
master λ time ruby --disable-gem -Ilib -rubygems ~/.gem/ruby/2.0.0/bin/pry -e exit

real    0m0.495s
user    0m0.446s
sys     0m0.046s
master λ gco cache-gem-specification-load
Switched to branch 'cache-gem-specification-load'
cache-gem-specification-load λ time ruby --disable-gem -Ilib -rubygems ~/.gem/ruby/2.0.0/bin/pry -e exit

real    0m0.347s
user    0m0.306s
sys     0m0.039s
```