Merge pull request #1018 from kacfengine/master

Clean up work/log/pid dir implementations and fix Windows build.
HACKING.md: explain C platform macros from https://cfengine.com/dev/issues/2018
Redmine#3429: acceptance test for copy and purge of empty directory
Fix misspelling of daemon
Fix misspelling of Commercial in 607 places
Fix misspelling of available in libutils/man.c
Fix misspelling of overridden in one place
.gitignore: in addition to ignoring "TAGS" ignore "tags".
Merge pull request #1025 from cdituri/cdituri/core/gitignore-tags

.gitignore: in addition to ignoring "TAGS" ignore "tags".
spelling mistake available
Merge pull request #1027 from basvandervlies/spelling_error_avaiable

spelling mistake avaiable
Merge pull request #1022 from tzz/feature/2018-explain-platform-macros

HACKING.md: explain C platform macros from https://cfengine.com/dev/issues/2018
Remove pointless signal code.

Both code section are noops. Adding an empty signal set to the
existing set produces the same set.
Add acceptance test for empty splice dereference
Merge pull request #1024 from bahamat/master

Fix some spelling mistakes.
Merge pull request #1023 from tzz/tzz/3429-copy-and-purge

Redmine#3429: acceptance test for copy and purge of empty directory
Fix cf-serverd stat()'ing the file tree every second.

The real problem is that signals are ignored by the event loop if they
arrive between calls to select(). The Linux approach would be to use
pselect(), but this doesn't work on some other platforms, most of all
Windows.

So instead we use a different approach: Writing to a socket is safe to
do in a signal handler according to POSIX, so we do that and listen to
that socket in the select() call.

The approach has been tested on both Linux and Windows, and is
verified to work even when forcing the signal to arrive before the
select() call is entered.

As part of this fix, the stat() timeout has been raised to one minute,
so that we still check for file changes reasonably often.

Fixes issue #3479.
Merge pull request #1031 from kacfengine/signal-fixes

Fix cf-serverd stat()'ing the file tree every second.
Revert "Fix cf-serverd stat()'ing the file tree every second."

This reverts commit 2ac1c07f5988a9bacd553fc3ae84b1918e51a426.

16_cf-serverd/01_start/ tests are failing.