Use parametrized style of the dns class

Also expose the dns_forwarders parameter with it
Move tftp files out of case statement since they are the same on both platform
Parametrize the foreman-proxy port
Prefix all tftp params with tftp_
Prefix all dhcp parameters with dhcp_
Allow use of sudoers.d
Disable sudoers.d for EL5, doesn't exist by default
Renaming parameter use_testing to repo

Based on https://github.com/theforeman/puppet-foreman/commit/c7b3916ddd78f278767c8ac7768ce96ffb0a6327
Fix dns_forwarders to not rely on dynamic scope
fixes #2065 - use version dependent puppetrun/kick path

Specify wildcard in sudoers rules to enable "puppet kick <host>", else sudo
doesn't permit additional arguments.
Add SSL and trusted hosts configuration options

Defaults to SSL enabled, using Puppet certificates and key
Ensure sudoers.d exists before attempting to use it
Add manage_sudoers parameter to enable 3rd-party module to handle sudo
add custom_repo to foreman_proxy
Change manage_sudoers parameter to only exclude the /etc/sudoers.d resource
Add the omapi key support for DHCP into the module.
Add example key/secret comments back to the template
Split out managed from being enabled in settings.yml.
Don't print empty strings for dhcp_key_name/secret
Add support for options 'ssldir' and 'puppetdir'

This is useful if the puppetmaster configuration and/or ssl directory was
installed in non-standard locations.