Remove unused puppet-server.conf.erb template

There are no references to this template in manifests.
Always declare '/etc/puppet'

The conf dir should always exist, so always declare it.  This elimiates some
variability elsewhere.
Replace hard-coded config paths

The /etc/puppet path is parameterized at the user's entry point, so use it in
the implementor classes.  $confdir for /etc/puppet and $puppet_conf for
/etc/puppet/puppet.conf are low-hanging fruit, so knock those out.
Use correct scope for template vars

The vhost template for a puppetmaster using passenger will be evaluated in the
context of apache::vhost, not puppet::master.  This means that it has direct
access to all of the variables in apache::vhost's scope, many of which are
parameterized, and needs fully qualified references back to things that are
only in puppet or puppet::master.  Also, use tabs consistently.
Merge branch 'fix_vhost_template_variable_scopes'
Make the top-level class always declare the config

The config file is going to exist in any case, so put its declaration at the
top level and let the master and agent classes unconditionally ammend it with
requirements.
Rearrange the puppet.conf fragments a bit

Make the puppet class supply the common fragment, which contains just the
[main] section.  puppet::agent provides the agent fragement with just the
[agent] section.  puppet::master provides the master fragment with just the
[master] section.
Fix some details

1) It's lookupvar, not lookup.  2) The vhost will declare the docroot, so don't
duplicate that.
Merge branch 'fix_vhost_template_variable_scopes'
Make reporting optional

Parameterize the 'report' setting in puppet.conf, which is occurring in both
the [agent] and [master] sections.  Also omit report url information when
reporting is disabled.
Set hasrestart on the puppet service

This allows all the puppet agent to restart itself with a single shell
invocation ('service puppet restart') instead of two ('service puppet stop',
'service puppet start') which means that catalog scenarios that don't properly
apply on the first run are effectively able to "resume" since the shell
invocation will cause the agent to come back up after the invoking process -
the agent - has died.
Make templatedir configurable
Add certname as a parameter to the agent class

Supplying a certname to an agent configuration allows for agents in
environments with inconsistent DNS, e.g. mobile or early setup.
Merge branch 'parameterize_certname'
Fix syntax

Double colons for great qualification.
Merge branch 'fix_vhost_template_variable_scopes'
Puppet class needs concat::setup

This is where the concat declaration is now, so it needs to include
concat::setup
Merge branch 'fix_conf_fragmentation'
Consolidate redundancy

The Concat::Fragment['puppet.conf-master'] resouce is declared in both the
$passneger and non-$passenger cases, so it can go outside the conditional.
There is already an abstraction in place to handle the notify.
Merge branch 'fix_conf_fragmentation'