Pretty hefty re-factoring of the puppet::master class.

* Manage the START value for the puppet daemon in /etc/default/puppet.
* Handles issue https://github.com/abstractitptyltd/abstractit-puppet/issues/32.
* Simple support for installing the right master packages from gems.
* Massive cleanup of the puppet::master class structure. Kept the same
  classes mostly, but re-formatted the classes so that they're all
  parameterized. Also re-wrote almost all of the unit tests based on
  this structure.
* Add dns_alt_names support to the puppet.conf file
* Add certname support to the puppet.conf file
* Add manage_ssl support to the puppet::master class so that the puppet
  master SSL certificates can be generated dynamically from a supplied
  CA/CA Key.