Bumped version to 1.0.0
Changed the default value for the foreman & smartproxy parameters

The default value for the foreman & smartproxy parameter has been changed to false.
This is to prevent accidental installation of either application.
Modified default values for conf_* parameters

The certname option in puppet.conf can just be specified in the [main] section.
If necessary, it can be overridden in the other sections manually.
Added more validations & pm_server parameter

Realized that if the puppet_role was set to 'ca', I wasn't forcing a server
option to be set in puppet.conf. Similar to what I was doing with ca_server
for the catalog role. More validations were also added to ensure that a
custom conf_(main,agent) hash contains the appropiate keys for the specified
puppet_role. The default values for the conf_* hashes have also been updated
appropriately.
Added more spec tests

More spec tests were added for the testing of the conf_{main,agent,master} parameters.
Also set the puppetversion fact to choose a random value from a list of supported Puppet
versions.
Added selector for setting the value of 'manifest'

In Puppet 3.4.x the default value for the 'manifest' configuration option
should be '$confdir/manifests/site.pp', and in Puppet 3.5.x it should/can
be '$confdir/manifests/' (import is being deprecated). Setup a selector
to set this appropriately depending on the value of the puppetversion fact.
Implemented a new class parameter, puppet_vardir

Instead of echo'ing the home of the current user to set :puppetdir in
/etc/puppet/node.rb (dumb), I have created a new class parameter that will
be used to set $vardir everywhere. It's also being used to set the home of
the Puppet user. Added a file resource for $puppet_vardir to ensure it
exists as other file resources down the line rely on it.
Changed default value for conf_master parameter

vardir in puppet.conf is now being set to whatever the value of
puppet_vardir is.
Modified acceptance tests

Modified the default manifest after the default values were changed for
the foreman and smartproxy parameters. Added a sed statement that will
point puppet-stack.local to the SUT. This allows `puppet agent -t`
to run successfully if users try it by bringing up the SUT with
BEAKER_destroy=no and SSH'ing in.
Fixed a case where $foreman_ssl_ca was not being set properly

If this module is just used to configure the Foreman, the $foreman_ssl_ca
variable in foreman.pp needs to use the ca cert in /etc/puppet/ssl, as it's
assumed that the Puppet node is a client and not a master. This is a slight
fix to the changes made in hotfix-0.0.5.
Fixed a case where $smartp_ssl_ca was not being set properly

If this module is just used to configure smart-proxy, the $smartp_ssl_ca
variable in smartproxy.pp needs to use the ca cert in /etc/puppet/ssl, as it's
assumed that the Puppet node is a client and not a master. This is a slight
fix to the changes made in hotfix-0.0.5.
Updated README.md

- Updated documentation with new class parameters
- Added new examples
- Expanded the section explaining environments
- Added new additional note about using the Foreman as an ENC
- Modified some wording
- Fixed mistakes
Merge branch 'release-1.0.0' into develop
- Changed the default value for the foreman & smartproxy parameters from
  true to false
- Changed the default value for the conf_* parameters
- Added pm_server class parameter, and more conf_{main,agent} validations
- The default value for the manifest option in puppet.conf will now be set
  based on the value of the puppetversion fact
- Added puppet_vardir class parameter
- Fixed issue where {foreman,smartp}_ssl_ca would not be set correctly if
  only installing those applications