make sure tester classes match version of main classes

otherwise, logging $self->zilla->VERSION does not work when
in testing!
excluding corpus files no longer needed, because FileFinders

thanks, ether!
v5.011

        - ->VERSION is again defined in the tester forms of Builder and Minter
        - remove a small obsolete code path from PkgVersion
collapse multi-line abstracts to single line

this avoids, for example, control characters in EUMM "ABSTRACT", which
it complains about
v5.012

        - when handling a multi-line abstract, fold the lines on whitespace;
          previously, the newlines had been left in, which caused downstream
          warnings
remove a misleading * from pattern

thanks, Shlomi Fish
provide META.json as a text file in UTF-8
log_debug when skipping non-text files
skip attempting to read "bytes"-encoded files in [PkgVersion]
use braced block rather than list of statements
correct careless syntax error
Document the special encoding value "bytes"

This took me some time to find out - better document it!
fix typo in documentation
die with helpful error if encoding cannot be determined
PkgVersion tests: add a passing test for $VERSION in a comment

I added this while chasing down a bug, it passes, might as well add it
to the tests.
PPI Role: prune end/data statements before trying to find variable assignments

The testcase I'm adding here would previously fail, and failed in the
wild on files that had POD followed by an __END__ marker if their
documentation showed an example of assigning to the $VERSION variable.

I.e. if you include POD after an __END__ marker PPI classifies the whole
POD as a statement.

I'm using dclone() here to clone the document, because the API is
somewhat sucky in that all the PPI documents are cached *and* used to
write the file out to disk, so if I munged it and didn't clone we'd
write a file with no POD or comments, which would suck.

I checked and we don't have to add a dependency on some Storable version
for this, we already depend on 5.8.5, and Storable already had dclone()
in 5.7.*.
PruneCruft: prune fatlib/

Rationale: some author may build App-FatPaker-app from the project and
that created a fatlib/ directory that contains copies of CPAN modules.
If that fatlib/ is bundled in a distribution and indexed by PAUSE, that
will hide the original modules.
We want to avoid that.
See https://github.com/andk/pause/pull/65
MetaTests test: unconditionnally load dependencies

This is a release test. Any missing release test dependency must be
handled as a failure of the test, not silently skipped.
And by the way, this case should not even happen as the develop/require
dependency is properly injected by the plugin, so the developer should
have installed them with 'dzil listdeps --author | cpanm'.
PodCoverageTests test: unconditionnally load dependencies

This is a release test. Any missing release test dependency must be
handled as a failure of the test, not silently skipped.
And by the way, this case should not even happen as the develop/require
dependency is properly injected by the plugin, so the developer should
have installed them with 'dzil listdeps --author | cpanm'.
PodSyntaxTests test: unconditionnally load dependencies

This is a release test. Any missing release test dependency must be
handled as a failure of the test, not silently skipped.
And by the way, this case should not even happen as the develop/require
dependency is properly injected by the plugin, so the developer should
have installed them with 'dzil listdeps --author | cpanm'.

Conflicts:
	lib/Dist/Zilla/Plugin/PodSyntaxTests.pm