extra VERBOSE logging for execresult() and returnszero()
Merge pull request #1085 from tzz/tzz/extra-exec-logging

extra VERBOSE logging for execresult() and returnszero()
Parameterize agent type in parser, remove dependence on THIS_AGENT_TYPE
Remove args.h
Add --eval-functions flag to cf-promises
Do not evaluate functions called from a promise with exlusive ifvarclass

However, do evaluate functions that are rvals of ifvarclass.
Do not evaluate functions called from promises excluded by normal class expressions
Revert "cf-agent --bootstrap fails on Debian systems, because sys.workdir/inputs is a symlink to /etc/cfengine3."

This reverts commit deeac31cce0ed001e329ba56214752a97342b205.

Since this code is also used in files promises, it can deal with
untrusted directories, not just bootstrap directories. In such
directories it is not safe to assume that symlinks can be followed,
since they could point to any file on the host, and we would open them
with root privileges.
Merge pull request #1087 from kacfengine/master

Revert "cf-agent --bootstrap fails on Debian systems, because sys.workdi...
Fix possible buffer overflow.
Merge pull request #1088 from jimis/varfix3

Fix possible buffer overflow.
contrib/cfengine.el: ElDoc, completion, and compilation goodies
use sys.workdir instead of hardcoded path. Some distros use a different workdir.
Merge pull request #1092 from basvandervlies/bootstrap_workdir

use sys.workdir instead of hardcoded path.
Test: read long files (regression after 3.5)
Check compiler name for -Wno-duplicate-decl-specifier

Just passing -Wno-duplicate-decl-specifier does not cause GCC to abort.
Cosmetics
Merge FileRead/FileReadMax into single function

This change simplifies error reporting and avoids unreliable checking
of stat(2) to preallocate buffers. (Closes: Redmine #3658).