Explicitly lookup scope of apache_name in templates.
(#13860) Autorequire Package['httpd']

Previous to this commit, the `a2mod type did not autorequire the
Package['httpd'] resource provided by the `apache` class. If the
Package['httpd'] resource was enforced after any a2mod resources, the
a2mod resources would fail since the httpd package installs the
a2emod/a2dismod system commands.
(#13860) Make a2enmod/a2dismo commands optional

Previous to this comit, the a2enmod and a2dismod commands were required
for the a2mod provider to be used by puppet on the first run.  Since
these commands are not always available on the first run, the catalog
application might fail.  This commit makes the commands optional, so the
provider's validity will be evaluated when an a2mod resource is enforced
Merge pull request #23 from ccaum/13860_autorequire_httpd_package

(#13860) Autorequire Package['httpd']
fix tests
style guide fixes: 'true' <> true, $operatingsystem needs to be $::operatingsystem, etc.
One end too much
changed name => path for file resources in order to name namevar by it's name
Merge pull request #24 from Tribily/syntax-fix

Syntax fixes
Merge pull request #11 from mhuffnagle/master

apache_name not being set properly in templates
(#11379) Add param for ports.pp

Prior to this commit, puppetlabs-apache is not managing port listen
entries explicity and would either create duplicate listen directives
or worse, not have them at all.

This commit adds a $ports_conf parameter to reference a ports.conf
file that we'll manage with these directives.

The code comes from cwarden in pull request 7 but an alternative
pull request is being creates using the file_line function instead
of execs or concat.
(#11379) Manage ports.conf

Prior to this commit, ports.conf is not a file the module manages.

This commit adds that file as references in $apache::params::ports_conf
as something we manage explicitly.
Update smoke tests

This commit fixes up the vhost smoke tests after a rebase to include
four examples, one of which uses the vhost erb template.
(#11379) Manage Listen entries with file_line

Prior to this commit, this module was not managing Listen directives.
This commit will add Listen directives for each unique port used in
a vhost declaration via the file_line resource type provided by
puppetlabs-stdlib.

For each port reference, file_line will create a "Listen ${port}"
string inside $apache::params:port_conf.

Modulefile has been modified to include the dependency on stdlib.

The vhost smoke test has been updated to include multiple vhost
declarations including two vhosts using the same port.

This commit also fixes a typo made in the previous commit, managing
$apache::params:port_conf as a directory instead of a file.

Thanks to cwarden on pull #7 for providing the idea and inspiration.
His pull request accomplished the same result with execs but this
should provide a cleaner and more robust base to build from.

To-Do:
  Purge listen entries that are no longer being used.
  How to handle ports.conf with existing content.
File_line should be ensure => present

Prior to this commit, the file_line resource was not marked as
ensure => present which is required to function on certain versions
of the resource.