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
Merge branch to load author test prereqs unconditionally
munge all found files in [PkgVersion], not a subset

A filefinder was already being used, but undocumented.  Also only .pm/.pl
files (or files with a shebang) were being munged, which excludes .pod files
-- only files with a package declaration will be modified, as before.

Closes PRs #219 and #233.

Conflicts:
	Changes
	lib/Dist/Zilla/Plugin/PkgVersion.pm
if install fails, propagate exception
update changelog for next release
v5.013

        - META.json is now a UTF-8 file, rather than ASCII
        - document the use of filefinders in [PkgVersion], and remove
          filtering out of .t, .pod files; do skip non-text files, though
        - always load modules in "extra tests" like pod-coverage.t
        - PruneCruft also prunes ./fatlib
        - avoid being tricked by statements in __END__ section when looking for
          variable assignments
        - if "dzil install" fails due to exception, it is now propagated
        - provide a better error when terminal encoding can't be determined