Fix #2663 - refactor to use shell_out in rpm provider

Fixes #2663 by using shell_out instead of popen4
I did run into issues with this test, but I believe it was because I messed something up elsewhere. I will change it back.