added delete_values() and delete_undef_values() functions
Merge pull request #166 from ptomulik/delete_undef_values

Add delete_values() and delete_undef_values() functions
changed the validate_slength function to accept a min length

An optional third parameter can be given a min length. The function
then only passes successfully, if all strings are in the range
min_length <= string <= max_length

update and fix function and unit tests

the check for the minlength has to be written differently
because 0 values should be possible. We now check
a) if the input is convertible, and throw a ParseError and
b) if the input .is_a?(Numeric) and ask for a positive number
it's not as clean as for maxlength, but keeps a similar behaviour

refined the error checking for the min length

try to convert to Integer(args[2]) and fail,
if it's not possible

changed the tests accordingly to the new parameter checking
Merge pull request #167 from mhellmic/minlength

extend the validate_slength function to accept a minimum length
Fix validate_slength, arg.length should be args[0].length

During a puppet run an error will be thrown and a puppet run will fail completely (when using validate_slength):
undefined local variable or method `arg' for #<Puppet::Parser::Scope:0x7f243c236948>
minor corrections to delete_values()
Merge pull request #169 from hdeheer/patch-1

Fix validate_slength, arg.length should be args[0].length
(maint) Remove unneeded parens around exceptions
(maint) Explicitly unpack validate_slength args
(maint) reword error messages for validate_slength
(maint) clean up validate_slength argument validation
(maint) collapse String/Array validation into shared lambda
(maint) reindent case statement to match standard indentation
(maint) refactor validate_slength tests
(maint) Validate input argument in a single location
Merge branch 'maint-refactor_validate_slength'
Merge pull request #170 from ptomulik/fix_delete_values

minor corrections to delete_values()