Split of setting up rack from passenger so it can be used  with external passenger setups.
Allow configuration of the servername.

- For the agent, only a default_servername can be configured. This is only used when there is no puppetmaster provided by foreman as ENC or by the puppetmaster. Which would mean you are running puppet apply.
- For the master, this is the hostname that is used for generating the CA.
foreman::puppetmaster has been removed. Manage these files ourselves.
Support configuration of storedconfigs on the puppetmaster
Some permissions fixes on certificates for working together with foreman-proxy and various small other changes:

* Introduced group parameter to be used by external modules
* Small typo fix
* Small syntax/style fix.
Allow using dynamic environments without a git repository
Fixes #2064 - manage puppetmaster if passenger is not used

Conflicts:

	manifests/server.pp
Add 'listen' support for puppet agent

Conflicts:

	manifests/init.pp
	templates/puppet.conf.erb
Actually use the puppet::server::port if it is configured
Added a helper function to manage subpaths in modulepaths.
Allow using additional subfolders beneath your modules folder.
Rework available parameters and puppet::server now inherits puppet. (also docs)
Workarround for the ssl_dir. Make sure it exists (and parent paths too!)