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.
I could be completely off base here, but I think at_exit could have unintended side effects. Doesn't it carry down the at_exit to child processes? 

cc @joshcooper @adrienthebo