Substantial refactor

Lots of style fixes to pass puppet-lint and created parameterized
classes which allow for data to specified with Hiera in Puppetv3.