Redmine #2971: reset SIGPIPE signal handler to have a sane behavior of piped commands within child
add a class for android

This class use busybox for all the commandline tools.
The Android Open Source Project use 'toolbox' for the shell (implemented from scratch by Google).
However toolbox is very limited. Busybox is easily installable on Android and provide a set of tools
much more closer to the standard tools found on the other Unixes.
Redmine 3572: reworked reading of non-fncall values

Made failure to read string as int or real, when specified as such, a
PROMISE_RESULT_FAIL, instead of setting to a bogus value.  Reworked
the block that handles this so as to avoid repetition of code.  This
fixes parsing of simple values from unexpanded variables; a later
convergence pass shall see the variables expanded and succeed.
Includes acceptance tests for general parsing of numbers, the basic
problem and regextract usage.
Moved a test outside a loop to save a waste of time.

In BundleResolve(), looping over promise-types doesn't change the
bundle type; and we did nothing inside the loop unless the bundle type
is "common", so may as well test that before entering the loop,
instead of each time round the loop.  Tidied up a bit, too: split some
long lines, killed a boring blank line.
Compile-fix: use correct formatter for size_t parameter.
libpromises/evalfunction.c: minor function argument docstring updates
Lower level of missing public/private key warnings for non-root/fakeroot
remove a promise_repaired class from reports: type promise.
Redmine#4513: add acceptance test that cf-promises works even if ppkeys are missing
Merge pull request #1409 from tzz/cleanup/function-argument-descriptions

libpromises/evalfunction.c: minor function argument docstring updates
We should call FindLock() inside AcquireLock() regardless of boolean ignoreProcesses

- FindLock(cflock) does not only look for the existence of the cflock lock but also creates it if it does not exist.
- This is independent from whether ignoreProcesses is set or not
- It also affects yielding of locks because cflock needs to exist in order to be yielded
Merge pull request #1424 from tzz/feature/warn-less-nonroot-missing-ppkeys

Lower level of missing public/private key warnings for non-root/fakeroot
Assorted Buffer optimizations
Use Buffer instead of Writer to compute stack path
Optimize VarRefHash
Optimize EvalContextVariablePutSpecial
Resolve policy only when inputs are unresolved
tests/acceptance/01_vars/02_functions/hash.cf: fixed out of staging
tests/acceptance/01_vars/02_functions/hash.cf: call bogus "crypt" hash method
Merge pull request #1319 from lpefferkorn/sigpipe_subprocesses

Fix Redmine #2971: issue with commands where SIGPIPE is necessary