Add support for client SSL certificate authentication

This adds support for using client side SSL certificates.  
Doing this required 2 changes:

1. Added a `dashboard_vhost_template` parameter to `class dashboard` (and it's children). This is so that a more advanced vhost configuration can be created, such as one using client side SSL certificates.
2. Added `--enc-ssl-ca-cert`, `--enc-ssl-cert`, and `--enc-ssl-key` to the puppet face. This also required dropping the use of `Puppet::Network::HttpPool` for the `http` object. The reason for this is because it sets a `attr_accessor` on `:ca_file`, which breaks `:ca_file`. Attempting to set `:ca_file` to the command line argument does absolutely nothing with that accessor in place. Since the dashboard face overrides everything that HttpPool sets automatically, nothing was being gained from it's use anyway.

The changes are all completely backwards compatible.