Fix constness of some Buffer and BufferList functions.
Add StringAppend function.
Add "cat" and "sed" to discovered tools in acceptance test framework.
Make tmp dir a "real" tmpdir, with permissions and everything.

Some tests that create files as special users rely on this, for
example users promises.
Added a safeguard against using fakeroot together with --unsafe.
Introduce GetErrorStrFromCode().
Add conversion between 8-bit and 16-bit strings.
Fix testall when path contains newlines.

Important for Windows testing.
Add a convenience classes body in tests to set classes unconditionally
Rewrote test tools detection logic.

It should both be more general, as well as more Windows friendly.
Cosmetic cleanup of StringAppend().
Wrap repeated binary lookups in a function in testall.
Add SetIsEqual and MapContainsSameKeys.
Merge pull request #1060 from kacfengine/user-promises-support

Support commits for user promises