Transition from using Path::Class to Path::Tiny

The following patch series aims to make DZP:Git work internally with Path::Tiny everywhere possible.

However, as a design goal was to continue working on Dist::Zilla's prior to this patch ( or its equivalent ) landing : https://github.com/rjbs/Dist-Zilla/pull/277 , all path entries that cross over **from** the dzil side get arbitrarily re-wrapped with Path::Tiny to avoid api breakage.

Code has been tested and built to work on current dzil, and tested on aformentioned patches to dzil such that the tests also run there with 

```bash
PERL5OPT="
   -MDevel::Hide=Path::Class,Path::Class::File,Path::Class::Dir
   -I/home/kent/perl/dist-zilla/Dist-Zilla-5.013/lib" prove -lr t
```
Some of the code seemed redundant and some minor substitutions in tests are also done.

Again, to build this dist on DZIL>5 you'll need to add

```ini
[Encoding]
encoding = bytes
filename = corpus/dzp-git.pub
filename = corpus/dzp-git.sec
```

To dist.ini, and possibly use https://github.com/jquelin/dist-zilla-pluginbundle-author-jquelin/pull/1