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.
Actually, a thought.  If we use ```sudo```, then the sudoers file needs to not have requiretty specified on systems where Puppet runs as a service.  That's less than ideal.  As such, I think it makes more sense to just run the command in the context provided.  The problem then is how to handle non-root users.  Any ideas?