Use RFC 2616 compatible time

RFC 2616 states that the time in the If-Modified-Since header must be in GMT.
Time#rfc2822 returns a time with time zone offset whereas Time#httpdate always
returns a time in GMT.
Fix bug introduced by d58c5b2 for gem sources list

When "--list" or "-l" is passed to "gem sources", the command is
currently ignoring it.
Bug fix Gem::Version.create

Do not assume an object is of type Gem::Version just because it responds to
:version
Fix test for Gem::Version.create change

Test changes due to intentional code behavior change.

The comment "FIX: For "legacy reasons," any object that responds to +version+ is
returned unchanged. I'm not certain why." is no longer applicable as I removed
that functionality in my previous patch. I was not certain why either :)

Instead objects of type Gem::Version are simply not cast by Gem::Version.create.
Compare self, not self.class to input

Fix bug in my patch cought by the test. Per drbrain.
Since this is a class method self.class is Class, which is unhelpful.
Add proper certificates for S3

Commit @71bc866 did not add the correct certificates as show by the test
from #673.  Now we have a tool to determine the correct certificates by
automatically from a certs.pem.

This updates #665 and #671.
Require rbconfig.rb for ConfigFile

On ruby 1.9.1 `gem -v` gives a NameError because RbConfig is not
available.

Now we require the missing file.

Fixes #676

See also wayneeseguin/rvm#2262
Correct History text #665 and #671

The description in the history was inaccurate following @82ed63e.
Update History with 1.8.28, 2.0.11, 2.1.6 releases
Merge pull request #672 from nmarley/fix-list-command

gem sources --list doesn't print anything to the terminal
Failing test for #672

Pull request #672 fixes `gem sources --list`, but does not include a
test to verify.

This test will verify the pull request.
Add #672 to History
Do not modify global Specification.dirs during installation.
Add #670 to History
Merge pull request #655 from lmarburger/fix-if-modified-since-header

Use RFC 2616 compatible time
Add #655 to History
Be more descriptive warning when licenses is empty

Previously RubyGems said "licenses is empty" without giving any further
guidance.  This didn't help users adjust to the new warning.

Now rubygems points to the OSI license list so users have a better idea
of what to do to silence the warning.

Fixes #656
Include license list in Specification#license=

This follows #656, and gives better guidance to users setting licenses.
Improve Specification#license documentation

Now the various license methods link to #license= where the list lives.
Do not attempt extension build for legacy repos

For legacy repositories, RubyGems would try to build extensions that
were already built.  This would result in confusing failures to load
gems with confusing messages.

Now RubyGems does not attempt to build extensions when the "extensions"
directory does not exist for the local repository and the repository
root is not writable.

See #596