libpromises/evalfunction.c: minor function argument docstring updates
Lower level of missing public/private key warnings for non-root/fakeroot
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
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
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()