Use pushd from Util module instead of File::pushd
Bump version
Remove pointless sub defaults
Use IPC::Run3 instead of Capture::Tiny in some cases

The latter seems to sometimes return output marked as UTF-8 even when we try
to set the STDOUT and STDERR layers to bytes. IPC::Run3 is much more
predictable (always bytes).

This is a band-aid. This whole distro needs a thorough review of its charset
handling, and ideally would provide a way to specify the encoding of each file
that's tidied.