(PUP-3379) Bring back Puppet::Util::RetryAction

Commit 4f1ff7de6a removed the inventory service code, and since that was
the only consumer of Puppet::Util::RetryAction, it was removed too.

But we have other cases where that behavior would useful, so this
commit adds it back.