Initial support for installing default gems.

The logic here is pulled from MRI's rbinstall.rb default gem logic
and the actual logic for installing gems. The combined logic works
as follows:

* The normal dependency chain is followed, unlike the rbinstall
  logic.
* The gem's full specification (with complete file list) is dumped
  to GEM_HOME/specifications/default/GEM_NAME.gemspec. This covers
  the bulk of the rbinstall logic.
* Only the bin files from the gem are extracted to the normal gem
  install location. This allows a stub binscript to boot from a
  combination of gem's bin and stdlib's libraries, as in the
  rbinstall logic.

Remaining work to do:

* Unpack gem lib and ext contents into appropriate location for
  the stdlib. This will overwrite existing files, and is generally
  intended to do a dev-time update of a given default gem's
  contents in stdlib.
* Install a binstub that works with both stdlib (default gem)
  libraries and installed gems, as in Ruby 2.0's rake, rdoc, ri
  commands. Primarily, this binstub needs to fallback to just a
  simple require when gem loading fails.
Additional fixes for default gems:

* Use :install_as_default to be less ambiguous in options
* Add logic to ensure specification/default dir is created
Add a simple test for default gem installation.
Modify default gemspec registration to support unmodified specs.

MRI 2.0 shipped with its own default spec generator that rewrites
the gemspec file to contain a list of bare require names in
spec.files. This required extra logic in rbinstall.rb and makes
it impossible to simply copy a gemspec from a gem into the default
directory to register that gem as a default gem.

PR #566 adds --default functionality to `gem install` that copies
the gem's unmodified gemspec to the default directory, but since
unmodified gemspec contains a list of gem-relative filenames, it
could not use the old default specification logic.

This commit modifies default spec registration to support both
formats. In the "old" style, specifications are registered with
their raw filenames; we detect old style by checking the first
file to see if it is prefixed with any spec.require_paths. In the
"new" style, spec.require_paths are stripped off the spec's
filenames before registration, and only files that start with a
require_path are registered.

Both the old format and the new format continue to work with this
change, and we can migrate toward default specs being the
unmodified originals rather than custom-built as in MRI 2.0.
Merge pull request #566 from headius/default_gems

Initial support for installing default gems.