remove a promise_repaired class from reports: type promise.
Make extension loading more verbose and fix loading when non-root.

In non-root mode we need to check two folders, the home folder, and
/var/cfengine/lib

Redmine #4534.
Merge pull request #1426 from phnakarin/fix#bootstrap

remove a promise_repaired class from reports: type promise.
Merge pull request #1438 from kacfengine/extension_loading

Make extension loading more verbose and fix loading when non-root.
Fix release_id being empty when running cf-agent -f update.cf.

We now use the cf_promises_release_id file in inputs/, regardless of
which file is specified with -f.
Merge pull request #1439 from kacfengine/update_cf_and_release_id_fix

Fix release_id being empty when running cf-agent -f update.cf.
new autoconf option to make state directory configurable: --with-statedir=<directory>
Make use of preprocessor macros for static known_dirs.c functions
rename MAX_WORKDIR_LENGTH macro to more generic MAX_DIR_LENGTH
add GetStateDir() and supporting functions
make use of GetStateDir() and replace hardcoded state/ paths
RemoveDates():
- use sizeof on datetime string literal to move computation to compile-time.
- comment on uncertainty of two-digit hh:mm:ss and time-zones shorter
  than three letters.

Pointed out by Edward Welbourne
LogTotalCompliance(): prevent cf-agent from bailing with custom logdir
adjust examples/measure_log.cf comment to account for compile-time statedir
MonNetworkInit(): use GetStateDir() and refactor
MonitorInitialize(): make use of GetStateDir()
make bootstrap.c functions, and their usage, respect GetStateDir()
Last of the needed GetStateDir() usage in generic_agent.c
prep cf-agent self-diagnostics for --with-statedir compile-time option
tests/unit/Makefile.am: added known_dirs.c to libdb libtool library sources