Fixes #6352: Lowercase hostnames in certs

This is the same fix as aad7619 in puppet-foreman[1].

Relevant parts from http://projects.theforeman.org/issues/6352

facter fqdn and hostname -f both return
HOSTNAME.domain.com

Starting httpd: [Tue Jun 24 13:26:59 2014] [warn] module passenger_module is already loaded, skipping
Syntax error on line 37 of /etc/httpd/conf.d/25-puppet.conf:
SSLCertificateFile: file '/var/lib/puppet/ssl/certs/HOSTNAME.domain.com.pem' does not exist or is empty
[FAILED]

There is a .pem file generated in /var/lib/puppet/certs/, but it is in
lowercase.

[1]: https://github.com/theforeman/puppet-foreman/commit/aad76195117479ca6b2cbbf9f0579e3672a9c806
Ensure foreman_proxy::service is refreshed after SSL certs change
* Add dns_alt_names parameter
* Add spec helper functions to verify contents of concat_fragment resources
* Replace spec.opts with .rspec
Add agent splaylimit and usecacheonfailure options
* Add hiera_config parameter
Add support for directory environments

Puppet 3.6.0 introduces directory environments as a replacement for
dynamic environments.

A warning is set when using dynamic environments.

This commits allows you to choose the new behaviour.

http://docs.puppetlabs.com/puppet/latest/reference/environments.html
fixes #4700 - deploy directory environments on Puppet 3.6 or higher

- $server_dynamic_environments is deprecated when server_directory_environments
  is enabled, set $server_environments = [] instead for a similar effect
- environment.conf deployed if custom manifest, config_version etc supplied to
  puppet::server::env instead of puppet.conf fragment
- basemodulepath set in puppet.conf to the value of server_common_modules_path,
  which had /etc/puppet/modules added to match the new Puppet default
- $environment_timeout added to puppet::server::env