Fix thin support

This PR adds a dependency on the danieldreier/thin module, makes small changes to how thin puppet masters are set up, and extends beaker test coverage for thin. These changes are in support of issue https://github.com/puppetlabs-operations/puppet-puppet/issues/100, to get this module installable via the forge. 

Without these changes, thin support is broken out of the box because a class called thin is required but not supplied by and modules linked in the Modulefile.

The motivation for this was that converting from [ploperations/nginx](https://github.com/puppetlabs-operations/puppet-nginx) to [jfryman/nginx](https://github.com/jfryman/puppet-nginx) required beaker test coverage for thin, since it uses nginx.  I wasn't able to get a thin puppetmaster working using any of the thin modules I found. The module that best matched the parameters being passed by this module was [camptocamp/puppet-thin](https://github.com/camptocamp/puppet-thin) but it didn't quite work and wasn't available on the forge. I forked it, made some improvements for the puppetmaster use case, and published it on the forge, because the module appears to be unmaintained.