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.
delay README munging to avoid trigging version provision
skip doing a new build if a build has already been done
[Manifest] builds contents as bytes

The [Manifest] plugin builds content for the MANIFEST file
from code, but doesn't declare that that code returns bytes,
rather than characters. This means that if you have
"interesting" files in your dist (which may or may not be a
bad idea) then you'll get warnings about missing files:

WARNING: the following files are missing in your kit:
    corpus/ã¿ãã¡ãã

because the manifest check is expecting the garbage filename,
but your dist actually includes the file with the correct
filename. No file is missing, but `MANIFEST` is wrong.

This simply adds the appropriate declaration when creating
the MANIFEST file.
Update setup.pm - Add warning for account details

Add warning that PAUSE account details will be stored in plain text.
Update POD to reflect this also.

https://github.com/rjbs/Dist-Zilla/issues/228
niggle: add a colon to some text
changelog update
v5.017

        - dotfiles and dot-directories are now included in sharedirs
        - ModuleBuild and MakeMake should not re-build if it isn't needed
        - authordeps now better understands "perl" dep
        - munging of README is delayed to prevent unneeded work and
          complication
        - MANIFEST is now treated as a binary file
        - 'dzil setup' now warns that credentials are stored in the clear
        - MakeMaker should include fewer empty and useless hashrefs
        - Makefile.old is now pruned as cruft