Add Linux support

This adds a basic Linux provider, as requested in [MODULES-1560](https://tickets.puppetlabs.com/browse/MODULES-1560).  It does not presently update the spec tests to handle that.  Suggestions on which tests to look at fixing are welcome.
It seems this should come with `sudo` as part of the process, unless in spawning it stays in the same admin context. Unless you can initiate a shutdown from non-root. How does this apply if you are running puppet as non-root?