Created a better --noop test

Will anyone use this? The answer is no.
Adding updated Gemfile.lock
Corrected cert file locations

Several cert file locations for certain roles were wrong. Also changed the
SSLVerifyClient value back to optional as it was interfering with autosiging.
Allow Puppet 3.7.x to be used

Changed the validate_re regex in params.pp to allow users to use Puppet 3.7.x.
Fixed a syntax error, d'oh!
Fixed attribute value for bundle install execs

The creates attribute value was not updated when the arrest filename was changed
to include the Ruby version.
Changed permissions for ssl/ca/{ca,requests}

Puppet wants /var/lib/puppet/ssl/{ca,requests} to be 0755, let's not fight it
Added seams for common resources, fixed spec tests

Added seams for /etc/puppet and /var/lib/puppet in case you want to manage them
as symlinks (ex: if you're using gluster across multiple masters). Also fixed a
bug that was preventing catalog masters from running correctly when using directory
environments (couldn't create /etc/puppet/environments/production). Updated the
appropriate spec tests.
Updated default branches, added 2 new parameters

The default branch for the Foreman & smart-proxy have both been changed
to 1.6-stable. The Foreman 1.6+ now generates a default admin password
during the rake db:seed task, and spits it to stdout. Since this is not easily
visible, we now declare the default password using foreman_default_password.
Also added foreman_try_rake_tasks so that it's possible to control if
the Foreman's rake tasks will run.
Added new define type for smart-proxy

In version 1.6, each of the modules used by smart-proxy now have their
own settings file inside of config/settings.d/. This patch includes a define
type that allows users to specify each of these config files. The default
values for settings.yml have been modified to match what 1.6 expects.
Anyone that specifies an older version will need to set smartp_settings
manually.
Added the ability to specify a git tag version

The foreman_repo & smartp_repo parameters are now hashes that allow you to
specify a tag key. If a tag key is specified, a local branch will be created
from that point in time ([tag]-checkout). This allows for more granular control.
Added -SSLv3 to the SSLProtocol line

Because of SSLv3 POODLE, SSLv3 connections should not be allowed.
https://isc.sans.edu/diary/SSLv3+POODLE+Vulnerability+Official+Release/18827
https://isc.sans.edu/diary.html?storyid=18837rss
Added spec test for new define type

Added a simple spec test for the new config_file define type, and modified the
default values for several parameters in config_file.pp.
Added before metaparameter to git checkout execs

Need to ensure that any git checkout exec happens before we start
configuring everything.
Added $auth_conf_entries parameter to init.pp

Custom auth.conf entries can now be specified through the $auth_conf_entries
parameter.
Reworked smart-proxy config file placement

The previous methodology of placing smart-proxy config files made it difficult
to write spec tests, and would have been confusing for new users to specify
overriding resources. The new way isn't pretty, but it's easier to
understand and much more forgiving.
Updated README.md