Rewrite of the module to support debian and redhat based linux distributions

... Redhat and Debian based linux distributions.
We're not.  We're branching on ${::osfamily} - the default case here would catch this module being run on an Arch Linux system or a windows system, for example, and fail with a meaningful error instead of just bailing out