Readd fakeroot detection after e04ad746618b9.

We still want to avoid the message outside of testing if we are
running under fakeroot.
libpromises/evalfunction.c: Minor cleanups for BuildData()
libpromises/evalfunction.c: more minor cleanups
Update promise result for commands promises.

The code is convoluted with a mix of PromiseResult and ActionResult,
and it shouldn't make a difference since the return value is interpreted
correctly for the case of failure. However, VerifyExecPromise has no
notion of warning when interpreting return values.
Merge pull request #1483 from kacfengine/master

Readd fakeroot detection after e04ad746618b9.
Consistently log messages for failure with LOG_LEVEL_ERR.

LOG_LEVEL_INFO is not for failure logging.