(#11276) Add minitar feature

This commit adds a `minitar` feature, which depends on the minitar gem.
Updated the Gemfile so that Windows depends on minitar.

Note, a similar change will need to be made to the installer.
(#11276) Select tar command or minitar

Previously, the module tool relied on GNU versions of tar and gzip/gunzip
to build and install modules, which isn't portable on Windows in
particular.

This commit adds Gnu, Solaris, and Mini tar implementations for packing
and unpacking tar.gz format.

It modifies the module tool to select the appropriate implementation for
the platform it's currently running on.

Paired-with: Andy Parker <andy@puppetlabs.com>
(#11276) Enable module tool on Windows

This commit allows the module tool to run on windows and updates the spec
tests as they are no longer pending.
(#11276) Ensure module tool can actually run on an agent

All of the module tool acceptance tests run on the master, which is
never windows.

These acceptance tests ensure the module tool can generate, build and
install modules from the pmtacceptance forge.
(#11276) Fix require ordering issue on Windows

Make sure we require msvcrt/buffer is required before using it.