Update processutils.

This is another example of something which was imported from nova
but where nova was never moved across to use the oslo version. The
code has since diverged. This review syncs up the two versions,
and will be followed by a nova review to move nova across to the
oslo implementation.

Unit test coverage for this new version is 83%. I want to improve
that, but I'll do it in a later review.

I will also need to update cinder, quantum and nova to this new
version of the code once this merges. I will do moniker as well
because I am a nice guy.

Change-Id: Ie0731c56c9aab547b5d5b905bf4ed8eff3eae3bd
Merge "Update processutils."