Don't modify entries in $LOAD_PATH directly

It is not allowed in ruby 2.0.0 since r37481.

See also:
  https://bugs.ruby-lang.org/issues/7158
  https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/37481
Don't modify $LOAD_PATH. Sorry...

It is read-only variable.

This fixes "$LOAD_PATH is a read-only variable (NameError)" error
introduced by a1fa91f8b6a26d79c012a7126502be50fa606ab8.
silence
extract core_ext folder for better visibility
Merge pull request #395 from grosser/core_ext

extract core_ext folder for better visibility
Add "install -N" as short version of "--no-document"
Minor exception cleanup
Update Manifest
Merge pull request #394 from grosser/silence

silence
Support normal gem require without explicit 'gem "name"' for default gem

Let "test-unit" is a default gem.

Before:

    require "test/unit" # -> test/unit.rb of the standard library is loaded

    gem "test-unit"
    require "test/unit" # -> test/unit.rb test-unit gem is loaded

After:

    require "test/unit" # -> test/unit.rb of test-unit gem is loaded

Default gem related works are not completed. There are following
not implemented features:

  * Register the default gems
  * Support "gem contents" for RDoc
  * Block "gem uninstall default-gem"

This change shows what I want to do for implementing default gem. If
you accept this change, I will do the next works.

Note that I want to move Kerenel#require codes in
lib/rubygems/custom_require.rb to Gem::CustomRequire#run in the
future.
Fix a typo

unresoleved ->
unresolved

Pointed out by @drbrain. Thanks!!!
Don't create new class Gem::CustomRequire

Suggested by Evan Phoenix.

I'll re-propose this change later. I don't work on it with default gem
changes.
Add missing "lib/"
Support loading the default gems automatically

The default gems should be placed at
#{GEM_HOME}/specifications/default/*.gemspec.
Is it right place? Should we use 'defaults' instead of 'default'?
Remove needless File.join

Suggested by Evan Phoenix. Thanks!!!
Use private instead of _XXX

This change does it against only Specification._each_spec,
_each_normal and _each_default. We should change other methods such as
_all and _resort! but it is not a work for this branch.

Suggested by Evan Phoenix. Thanks!!!
Use GEM_HOME independent search path for default gems

Default gems should be placed at
#{Gem.default_dir}/specifications/default/*.gemspec instead of
#{GEM_HOME}/specifications/default/*.gemspec.

If a user set both of ENV["GEM_HOME"] and GEM["GEM_PATH"], default
gems couldn't be detected.

Reported by Eric Hodel. Thanks!!!
Reject uninstalling a default gem

Note: Gem::Specification#default_gem? is suitable name? Should it be
private?
Add missing 'end's

It is merging miss...
Support "gem contents" for default gem