Add Gitpan::Role::CanLog and CanDistLog.

The ability to log both to a main log file and a per distribution
log file.

Also...
* Gitpan::Config now creates the log directories at BUILD time
Ignore the gitpan directory used during testing.
Remove some stray methods the logging roles picked up.

* log() interferes with Gitpan::Git->log.
* The "use Path::Tiny" pulled in a path() method that namespace::clean did not catch.
Remove some unnecessary module loads from Gitpan::Dist.

Also
* Clean up how the CanDistLog role is consumed.
Add CanDistLog to Gitpan::Release.
Add CanDistLog to Gitpan::Git.

This requires Gitpan::Git knowing its distribution.
Cleanup Gitpan::OO a bit.

* Unnecessary use of Scalar::Util.
* Use Import::Into instead of goto magic.
Add CanDistLog to Gitpan::Github
Add logging to Gitpan::Release
Remove unused Gitpan::Git methods.

These are holdovers from how Git::CPAN::Patch did things.
Convert Gitpan::Git to a delegation around Git::Repository.

Gitpan::Git inheriting from a non-Moo class was problematic.
Accessors didn't always work right, particularly non-lazy defaults.
Construction was weird.

Make it a delegation instead.  It turns out we only need a handful
of methods.

Also
* Eliminate the use of $git->work_tree in favor of the more consistent
  and descriptive $git->repo_dir
Remove periods from log entries in Git::Release.

Makes URLs and paths harder to read.
Add logging to Gitpan::Git.
Add logging to Gitpan::Dist
Merge branch 'logging' into rewrite

For #15