Add methods to retrieve non-PE platforms

* Add `on_puppet_supported_platforms` and `on_puppet_unsupported_platforms`
* Refactor to use common code
* Simplify code for existing methods
* Add documentation
I'd prefer using `facter` here because we want to test against facts generated by a version of facter, not really a version of puppet.