Add 'jobs' argument for 'dzil test'

This passes a jobs argument to TestRunners so they can set harness
options (or whatever) accordingly.
add job_count attribute for test runners
Move file writing out of argument loop

Previously, on a second entry the file generated in the first would be
written again, which resulted in an error. Now it is written after all
files have been generated.
credit for cc759e1
fix the placement of variables in loops
v5.014

        - Added 'jobs' argument for 'dzil test' for parallel testing (thanks,
          David Golden!)
        - add default_jobs attribute to TestRunner role
        - fix the behavior of 'dzil add' with more than one file
          (thanks, Leon Timmermans!)
fix wording in exception
instantiate version after file gathering/pruning is done
PkgVersion: downgrade 'no package' warning to log_debug
UploadToCPAN: allow custom .pause filename or directory
v5.015

        - make it easier to have multiple PAUSE configs using UploadToCPAN's
          pause_cfg_dir option (thanks, David Golden)
UploadToCPAN: load File::HomeDir when used

... and don't import its 'home' function.
GatherDir: load File::HomeDir when used

... and don't import its 'home' function which is in @EXPORT.
hint about Encoding plugin in encoding error messages
v5.016

        - hint about [Encoding] plugin in encoding error message (David
          Golden)
install dot files/directories that are included in sharedirs (closes #269)
also clean Makefile.old
skip passing empty hashrefs, arrayrefs to WriteMakefileArgs

This was resulting in ugly prereqs in META.json like:

    "prereqs" : {
       "build" : {
          "requires" : {}
       },
       "test" : {
          "requires" : {}
       },
       ...
    },
"dzil authordeps" now properly understands "; authordep perl = <version>"
better error when file is unexpectedly missing

This can happen when the gathering logic is different from "everything I see
in the filesystem", e.g. in [Git::GatherDir] which gathers everything known to
git, and the file isn't actually there.  Without this check, the user sees:

Use of uninitialized value in bitwise and (&) at .../Dist/Zilla/Plugin/GatherDir.pm line 175.

..which doesn't tell the user exactly what went wrong.