[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
This function needs tidying up (brace style, weird `_hc` variable name)