Add a Gem::StubSpecification object to parse specification stublines
Write stubline out to gemspecs
Avoid loading all gemspecs

Parse out "stublines", where available, to retrieve the information
necessary to determine whether to activate a particular gemspec.

This requires sharing some code between Gem::Specification and
Gem::StubSpecification, so I created an abstract BasicSpecification
class to achieve this.
DRY up Specification._all/.stubs

Populate _all from stubs.
Memoize StubSpecification values

Prevents us parsing the stub line / building the objects on each call.
only use name and version in hash
Merge pull request #538 from charliesome/faster-hash

Implement Gem::Specification#hash more efficiently
Add 'dalvik' as a recognized RubyGems platform
Merge pull request #435 from jonleighton/speed

Performance fix to avoid loading every gemspec
Merge pull request #539 from ruboto/master

Add 'dalvik' as a recognized RubyGems platform
cache dup logic to speed up Gem::Specification#initialize
Merge pull request #545 from tenderlove/specinit

cache dup logic to speed up Gem::Specification#initialize