include time offset along with time
make PPI handle bytes, not codepoints
also use encoded content for PrereqScanner
make AutoPrereqs use the PPI role
warn about non-ASCII package or version

we pass these to PPI, which seems much happier with octets
than text
remove unneeded "use PPI"
pass the encoded content to abstract-extractor
require PPI as needed!
Assume that PPI wants octets, not text

The code:

  PPI->new($filename)

...opens files and reads them without an encoding layer.  I don't
care for this, but it's how it is.  The file's contents are
slurped and parsed.  Meanwhile:

  PPI->new(\$content)

...is parsed just the same as the slurped contents, indicating that
the content is bytes.  This branch tries to always pass bytes, not
character strings, to PPI.
changelog for next release
v5.009

        - include time offset by default in NextRelease
        - always pass PPI octets, not text
create ~/.dzil/profiles as needed
test that we do not add multiple assignments
return a clone of the cached doc, not a reference!

If we return the PPI::Document object, something might start to
mutate it, then decide not to (or throw an exception).  Then,
the object in the cache is in the modified state, even though
nothing saved the document back to the cache.

This was exposed by t/plugins/pkgversion.t, when inspecting files
by eye.  I added a test for the symptom in 2b31778, and this
commit fixes the bug.
add only one line when adding $VERSION with PkgVersion
changelog for PkgVersion and PPI changes
if the line after package is blank, put version there
allow blank after package stmt for PkgVersion to be mandatory
if we're not going to die on line insertion, log it
changelog for more PkgVersion changes