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