Make external_nodes a configurable parameter

In https://github.com/theforeman/puppet-foreman/pull/42 a parameter is
added, but this needs a way to configure it.
Issue 2036 - Updated auth.conf.erb and puppet.conf.erb to check for an
empty/nil puppetmaster var and fall back to fqdn.
Updated passenger install and created template files required for passenger config
add support for different storeconfigs backends
Added ca_server to params and puppet.conf template
Add noop mode.
End all the environments with /modules for dynamic git branches/librarian support.
Move the generate-ca-cert to puppet::server::config since it is not passenger specific. Also makes the httpd service to notify configureable.
Make sure the ssl dir exists. With a custom ssl_dir, cacert generation fails if it does not.
Split off rack setup of the passenger module for stand-alone use
If passenger is disabled and service_fallback is also disabled: no service pls!
Document the service_fallback, passenger and httpd_service parameters.
Make sure we configured rack before creating the vhost
Remove all unused parameters from the puppet class to avoid confusion
Add docs for the left over parameters
Fix some lint errors in puppet::config and scope puppetversion in params.
Split out the different ssl files into variables for re-use and use local variables.

Using local variables is the suggested way to work around has_variable? since it does
not seem to be stable for undef values.
See http://docs.puppetlabs.com/guides/templating.html#testing-for-undefined-variables
Update auth.conf to match upstream report change

From Puppet upstream b9023b0c (#19531) (CVE-2013-2275)
Fix placement of storeconfigs options when not using git_repo