(PUP-2284) Add an interview to the PMT `generate` action.

Prior to this commit, when you generated a new module, it created a simple
metadata.json file with the same standard defaults for every module.  Since
JSON may not be the most familiar language for all of our users, we now do
some work up front to pre-fill that JSON file with useful data based on user
input.
(maint) Code cleanup around PMT generate.

Prior to this commit, there were some areas of the generate code that
were less than clear and in need of some further documentation, in
addition to a few others where more idiomatic Ruby was desirable. This
commit exists to make these changes.
(PUP-2284) Add --skip-interview option to PMT generate.

Prior to this commit, we had a non-optional interview which helpfully
pre-populated common module metadata fields with values from the user.
However, with speculation of non-interactive uses of the `generate`
action (including our own acceptance test suite), this commit adds an
option enabling the user to bypass the interview entirely.
(PUP-2284) Updating default version for PMT generate.

Prior to this commit, the version for newly generated modules defaulted
to 0.0.1, since this is the first conceivable version number.  According
to the Semantic Versioning spec, most projects should begin with the
version 0.1.0, which this commit resets the default to.
Merge pull request #2538 from pvande/task/master/pup2284_puppet_module_generate_interview

Add an interview to the PMT `generate` action.