Adding cf-isalive

Per @zzamboni request
See https://groups.google.com/forum/#!topic/help-cfengine/NmyIOyUMLxw
Applied @ediosyncratic suggestions
Merge branch 'master' into cf-isalive
Support for CFEngine 3.6
Updated with latest version
Acceptance test for redmine 6568
Follow normal ordering also in common bundles

Evaluate variables promises before classes promises.

Also reduce code duplication.

Fixes Redmine 6568
Don't pass literal strings when a char* is needed.

Perhaps IsUserNameValid() shouldn't need to modify its parameter; but
its test shouldn't pass it a const char* parameter as long as it
claims it does.  Turn the literals into initializers for non-const
arrays.
Warning-fix: use assert_true() in tests rather than assert().

In an NDEBUG build, assert() doesn't actually test the condition; but
the test should indeed be testing it, so assert_true() is more apt.
Also simplify a return.
Only mark parameter as unused when it isn't used.

CurrentZoneName()'s string parameter is only used when we
HAVE_GETZONEID; so only mark it as unused when that's not enabled.
Mark parameter as unused only when it isn't actually used.

Was marked as unused, but is used in an assertion.
Apply suitable #if-ery to the ARG_UNUSED.
warning-fix: Correct signature of SaveXmlCallback().

It's used as a SaveCallbackFn, so needs to accept a NewLineMode as
third parameter, even if it does ignore it.  It should also be a
static function (nothing outside its file uses it); and we may as well
simplify the #if-ery around it and its one caller.
Typo-fixes and a rephrase in HACKING.md

s/absued/abused/
s/indenpendent/independent/
Rewrote garbled line about keeping log messages atomic.
Warning-fix: eliminate uses of deprecated sprintf().

All in verify_databases.c; and clean up CreateTableColumns(), which
was one of the culprits.  It was also adding random extra amounts of
space to an allocation - "just in case" I suppose - thereby
obfuscating the actual amount of space needed.  Eliminated an
intermediate fixed-size buffer we didn't need (and any associated
truncation).  Avoid quadratic costs associated with repeatedly
traversing a string to find its end, at which to append.
sscanf("%jd") is not ANSI C and we do not provide a libcompat wrapper yet. So use "%lld".
Merge pull request #1973 from jimis/ninenines_redmine6531

sscanf("%jd") is not ANSI C and we do not provide a libcompat wrapper yet. So use "%lld".
typo

(cherry picked from commit f4d6b6fb28f4839fac5f58846e0e47e5b7c641a4)
Move LIBS re-setting outside the if XNU conditional so that autoconf does not complain.

(cherry picked from commit 561606dc2e21bbe08ed3c3fc3904ae66f280ed77)
Add forgotten m4 file to dist tarball.

(cherry picked from commit 3660516bd804cf6027e0aed3dfe57d2313db558c)
distribute test script

(cherry picked from commit 6b806498a891be2c9c553b46bb18e0dd386c8161)