care: Escape all ' (single quote) characters from env. variable values.
Allow dynamically linked versions of CARE.

The new "raw" format was introduced, it is the default when CARE is
not built as a portable binary to force users to use `care -x` to
extract files.  Also, proot is not copied into the archive if CARE was
not built as a portable binary, instead the re-execute.sh script tries
to retrieve proot from $PATH or $PROOT.
Make obj-ification in the build-system works whatever $LANG is.

A regular expression is used to know the format and architecture used
by the toolchain, this information is required to link random stuff
(manual, licenses) with the final binary (care or proot).  This
regular expression matches only the text if "LANG=C".

Reported-by: Rémi Duraffort <remi.duraffort@st.com>
Reproduced-with: CARE http://reproducible.io

Yes, CARE is used to reproduce bugs in CARE's build-system :)
care: Emulate syscalls only if it is really needed.

Some syscalls are not fully emulated by the "kompat" extension, so in
doubt don't emulate syscalls that are supported by the running kernel.
kompat: Check that the replacing syscall exists on the current architecture.

They are a lot of syscalls that do not exist on Aarch64.  For
instance, the glibc wrapper for open(2) uses openat(2).

Reported-by: Rémi Duraffort <remi.duraffort@st.com>
Make -0 and -S options (ie. fake_id0 extension) fake success of mknodat(2).

This issue was exposed by test d1be631a on AArch64.

Reported-by: Rémi Duraffort <remi.duraffort@st.com>
Don't emulate suspicious call to brk(2), they might be legit after all.

PRoot might believe that a tracee is calling brk(2) for the first time
with a specific address (this is not supposed to happen the first
time).  It is likely because such tracee is the very first child of
PRoot but the first execve(2) didn't happen yet (so this is not its
first call to brk(2)).  For instance, the installation of seccomp
filters is made after this very first process is traced, and might
call malloc(3) before the first execve(2).

This issue was exposed on a minimal Debian Sid x86_64:

    root@kvm03:~/PRoot# ./src/care -o test.cpio cat
    [...]
    care warning: process 13255 is doing suspicious brk()
    care info: pid 13255: terminated with signal 11
    [...]

Reported-by: Rémi Duraffort <remi.duraffort@st.com>
Disable heap emulation everywhere when a suspicious call to brk(2) is legit.

This commit completes the previous one.
Fix "warning: ‘return’ with a value, in function returning void".
Prepare release of PRoot v4.0.3 and CARE v2.2.