replace su with Puppet::Util::Execution.execute

`Puppet::Util::Execution` should be slightly more future-safe and
platform independent than `su`.

this should fix #80, in a more reliable way than #97 does.