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 template and function have not been removed from the module (for
reference).

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).