Upgrade Net::GitHub requirement to the one that uses Moo.

Gitpan::Github inherits from Net::GitHub.  Net::GitHub switched to Moo in
0.62 so Gitpan::Github had to switch (sigh, encapsulation violation).
Some basic documentation of Gitpan::Config.
Document Gitpan::Role::HasConfig
Add GITPAN_CONFIG_DIR

This should make testing easier.  Only have to set the environment
variable once at the top of the test.
Gitpan::Config -> Gitpan::ConfigFile

This is step one of splitting Gitpan::Config into one to find and read
the config file (Gitpan::ConfigFile) and one to represent the config
used at runtime (Gitpan::Config).  Gitpan::Config doesn't exist yet.

Gitpan::Role::HasConfig will change to use Gitpan::Config once that's
written.

Gitpan classes will use Gitpan::Config to access the config.  This
will allow individual accessor methods for config data rather than
just a big, dumb hash.  This allows for defaults and normalization of
config values.
A basic Gitpan::Config to represent the configuration.

The only thing which has hard coded config values right now is
Gitpan::Github.  Keeping it simple for now.  Will probably need
something more involved later, can refactor things then.
Make Github::ConfigFile->config return a Github::Config object.

Also...

* Bumped the min Perl version to 5.18.1 because there's no reason to
  mess around with bugs and missing features in anything older and
  I needed the "state" feature.

* Bump to perl5i 2.13.0 which quiets a Hash::StoredIterator warning
  when using %hash->each

* Net::GitHub is at 0.65 but Net::GitHub::V3 didn't increment.
  Still want to depend on Net::GitHub::V3 directly in case it gets
  split out of the distribution.
Make Gitpan::Role::HasConfig return a Gitpan::Config.

And now things can start using the config!

Also...
* Removed Gitpan::Role::HasConfig->config_class.  YAGNI.
* Made the config shared by all rather than one per object.
Change Gitpan::Role::HasConfig to use Moo.

This is so Gitpan::Github, which uses Moo, can apply it.  Moo is
going to take over this project.
Make Gitpan::Github use Gitpan::Config.
Merge branch 'feature/use_config' into rewrite

Gitpan::Github is the only thing using Gitpan::Config as it's the only
thing which had hard wired values.  Good enough for a merge.