Use same prefix for --relative as for source/target

Found weird path mangling on local machine...
Discovered (by reading the git(1) code for diff.c)
that --relative just takes the length of the arg
and strips that many chars off the front of the paths.

Providing the same prefix for --relative is clearer and more logical
and in this case is much more likely to work.
Export Try::Tiny to tests for ease of use
Enable writing fake module configs in pure perl

because some things are too goofy to work with the json/yaml
Create fake dists of mixed encodings for testing
Add a few helpers for debugging tests
Decode git diff output to string to avoid mojibake

Thanks to Grant McLean for the original patch.

closes gh-208.
Exit unlisted_prereqs with non-zero if there are any

so that the script could be used by something else
Add remaining unlisted prereqs to Makefile.PL