Redmine#6189: Store the hardcoded bootstrap file in a variable

..instead of using it directly to prevent old GCCs from failing due to
fprintf usage as a macro

Modified by: Kristian Amlie <kristian.amlie@cfengine.com>
Merge pull request #1775.
Redmine #5874: Do not compile users promises if pw functions not found

This is needed for NetBSD, which has PAM, but not fgetpwent and
friends.
Redmine #5874: Add --without-pam option to turn off compiling with PAM
Merge pull request #1768 from kacfengine/without-pam_option

Redmine #5874: Some users promise compile fixes
Leak-fix: destroy policy that fails partial check.

When LoadPolicyFile() loads a policy, it PolicyCheckPartial()s it;
if this failed, it leaked the policy while returning NULL.
Leak-fix: close the signal pipe on exit().
Leak-fix (FD): close socket when aborting on failure to lock.

That's in cf-serverd's StartServer().  Also avoid using an invalid
socket; if OpenReceiverChannel() fails to bind, it closes the socket
it just tried to use, so we should reset the socket variable to -1 so
we don't try to re-use the socket we just closed.  Split a long line.
Fix leaked fallback Rlist.

When the common control gives no bundle sequence, we used { "main" }
as fall-back for it; however, this fallback list wasn't getting
cleared away (and the fact that we were modifying the NULL list we got
back const-qualified was provoking a compiler warning - which is what
brought this to my attention).
Refined .gitignore; stamp-h1 can land all over the place.

It would seem the autotools create random files called stamp-h1 in
random places.  Ignore all of them !
Merge pull request #1776 from ediosyncratic/leak-fixes

Leak fixes
Do not replace stdout in child worker process.

Unidentified spurious problems on Solaris 9, with file descriptor 0
*not* corresponding to stdin, triggered me to change the worker child to
not close its stdout and replace it with the dup()ed pipe
descriptor. Instead, it now fprintf()s directly to that pipe.

Didn't fix the problem on Solaris (still investigating) but still its a
good change.
pthread_cond_timedwait() takes absolute time

Also fix threads actually delivering the signal when they should.
This fixes test failure on Solaris.
Fix getspnam() failure in NIS/NSS setup.

getspnam() will return remote user information if NIS or NSS is
configured as the primary user DB, but we want it to return local user
information. Fix by opening /etc/shadow manually and using
fgetspent().

This work follows from 3e8b6898fd and 39e7699840.
mark tests as test_suppress_fail
Merge pull request #1779 from MatthewCattell/solaris10-acceptance-failures

mark tests as test_suppress_fail
Revert "mark tests as test_suppress_fail"
Merge pull request #1781 from cfengine/revert-1779-solaris10-acceptance-failures

Revert "mark tests as test_suppress_fail"
Using high precision clock should avoid corner case...

where time(NULL) returns e.g. 5, but time is 5.99.
Thanks to @kacfengine for spotting this.
Suppress some acceptance tests on solaris 10