Fix #2663 - refactor to use shell_out in rpm provider

Fixes #2663 by using shell_out instead of popen4
I think you want to use ```shell_out!``` here so an exception is raised if rpm returns a failure via a non-zero return code.