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>
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'