[Reviewer: Alex] Utils update

Alex, can you review these changes to add(/move into cpp-common) a couple of utility functions.
I've also moved some of the fake* files used in UTs into cpp-common
Why is this inlined when the other functions aren't?