Add Gitpan::Git->clone

Need it to clone Github repositories.

Have to quiet the "cloning to /blah" warning.
Add Gitpan::Git->pull
Test Gitpan::Git->push.

Also...
* make clone() and init() use a tempdir by default
* make sure temp directories aren't cleaned up if passed in directly
Config test-mode is no longer the default.

I think I'd thought it would be a good idea to have to turn test mode off
in production, rather than having to turn production mode off in testing.
Now I'm going to do this with a test library.
Fixup the Github.t test to a better style.

Also use the new Gitpan::Test library.
Add Gitpan::Test

This will set up the testing environment.  Mostly about ensuring the gitpan
config is in testing mode.  Otherwise just passes through Test::Most.

Also...
* Default directory for repo storage is now a tempdir during testing.
  No need to keep them around.
* Git::ConfigFile is put into testing mode by Gitpan::Test.
Add Gitpan::Dist->releases_to_import

Calculates what CPAN releases aren't already in Gitpan.

Also
* Change Gitpan::Git to use tags to mark releases rather than parsing
  stuff out of the log.
Add good defaults to Gitpan::Github->create_repo.

Also...
* Fix create_repo's call to create(), needs to pass a hash ref
* Take advantage of the new //= Method::Signatures syntax.
Add a .gitpan config for testing.

The github owner is now the gitpan-test org.
Gitpan::Repo will now create and clone a Github repository for a dist.

This is a more useful default than making an empty git repo and having to
set up the Github remotes and pull manually.

Also...
* Moo leaks a $SIG{__DIE__} handler into defaults when coercion is on.
  This messes with evals.  Have to turn it off.  Bug reported upstream.