Apache should symlink to sites-available

On Debian systems vhost definitions should go in sites-available and be
symlinked to from sites-enabled. apache2.conf should include
sites-enabled/*.conf. This updates the module to follow this behaviour.

Closes #161. Closes #135
Correct vhost_alias behaviour on Debian

In testing the sites-enabled symlinks, it was discovered that the
virtual_docroot parameter did not work on debian without also including
the vhost_alias httpd mod. This corrects that behaviour.
PHP uses php5.conf as config file

In testing sites-enabled behaviour, it was discovered that php loading
did not perform as expected on Debian due to including configuration
files from mods-available instead of mods-enabled. This corrects that
behaviour.
Ensure directory, install packages, purge confs

The ability to purge configs to preserve pristine working conditions is
often critical to avoid breaking apache unintentionally. On many
platforms the apache package will create directories into which other
apache mod package will place configs. These can conflict with configs
managed by puppet and cause apache service failures. This would normally
be corrected by purging those stray files on the second puppet run, but
in the mean time apache would have stopped. Single-run idempotency is
preferable.

Since Puppet cannot separately ensure => directory and purge => true,
this commit uses an exec resource and mkdir to create the directories,
and uses a file resource *after* all mods have been processed to do the
ownership & purging.