Change puppet logic using ruby to use --parser future puppet logic

This changes this module to use features available when using
puppet with --parser future. The use of a compact_hash functions
(that removes hash entries with an undef or nil value) is replaced
with the same functionality inline using a simple reject lambda.

An inline template was used to construct a string on the form
"param1=param1value param2=param2value...". This was replaced
with a literal hash, the same kind of reject as described above and then
a collect of the result to produce an array of entries, that finally
is passed to the join function to produce a string with each entry
(space separated).

The Modulefile description is updated to point out that this is an
experimental change requiring the user of --parser future.

A bug in the logic is also pointed out (evaluation of the default values
in a parameter list may not reference other parameters as the evaluation
order is undefined).