Add support for puppet apply provisioner

 Support for the puppet apply provisioner. 

I have done a reasonable amount of manual testing but i have not created any automated testing as not sure how this is setup in test-kitchen. As the ruby code does not touch any existing code in test-kitchen it should not create any regressions. 

 There are some documentation at:
   https://github.com/neillturner/kitchen-puppet/blob/master/provisioner_options.md

I have created support for a puppet omnibus installer that can be configured when one becomes available. 

The default install is via the apt-get or yum repositories. I naively try to determine the OS platform of the server however this can be specified in the puppet_platform config parameter. 

 Currently support debian, ubuntu and redhat, centos etc OS platforms.

Thanks to chris lundquist at github for alot of the code although any bugs in code are mine. -)