Fix custom function must be called with single array

Custom functions must be called with single array according to error
message when using generate_clients function in puppet 3.3.1

 custom functions must be called with a single array that contains the
 arguments
Fix director_name variable lookup

Makes variable lookups in template more consistent and scope.lookupvar
is a requirement when using puppet 3.3.1
Fix can't modify frozen String

This is to fix error message when using Puppet 3.3.1 with Ruby 1.9.1
where the $name variable cannot be modified by is_domain_name fucntion
Merge pull request #27 from diddi-/puppet3

Support for puppet3 and newer Ruby