(Maint) Cleanup specs

This cleans up the specs to make them a little more expressive of the
behavior of the fqdn_rand function's real functionality. One surprising
result that came out of this was that the tests tried to assert that the
fqdn_rand function was callable without any arguments. However the test
for this passed simply because it asserted that a particular error was
*not* raised, when in fact a different exception that expressed what it
was trying to catch (ArgumentError vs. Puppet::ParserError). The docs
indicate that calling with no arguments is not actually supported and so
that test has been removed.
(#21264) Update rgen dependency to 0.6.5

There is an error in rgen < 0.6.5 that causes it to incorrectly handle
Array#to_str via its monkey patching of Array#method_missing. This adds
a check for this incorrect behavior and updated our Gemfile dependency
on rgen. The package dependencies are already specified in a manner that
will pick up 0.6.5 once it is packaged.
Merge pull request #1724 from zaphod42/issue/stable/21264-implicit-array-conversions-break-because-of-rgen

(#21264) Update rgen dependency to 0.6.5