Fix non-convergent HP-UX shared lib perms in failsafe.cf (R#1179)

HP-UX shared libraries must be executable, since the OS uses the file perms
to set the permissions on the memory map, and the memory pages for a mapped
shared library must have execute permissions in order for the shared library
to be used.

An earlier commit (6edd6f9a8000c4fecc5e521ef048eeb69c3c99b5) added code to
set the correct 755 permissions for HP-UX, but did not add an exception for
non-HP-UX systems for 644 permissions. This led to a non-convergent pair
of promises, one of which set mode 644 and the other which set 755 each time
CFEngine ran on an HP-UX system.

This commit corrects that problem: it creates a new "perms" body -
u_shared_lib_perms - which sets mode 755 in "hpux" context and 644
otherwise, and eliminates the duplicate promiser, providing convergence
on HP-UX systems while also simplifying the failsafe.cf.
Install images for Texinfo guide from the directory Texinfo file reside

Otherwise Nova guides build breaks due to missing images.
Fix disk usage calculation in storage promises (Mantis #1120)
The operands of a logical && or || shall be primary-expressions (MISRA 12.5)

"Primary expressions" are defined in ISO 9899:1990, section 6.3.1. Essentially they are either a single identifier,
or a constant, or a parenthesised expression. The effect of this rule is to require that if an operand is other than
a single identifier or constant then it must be parenthesised. Parentheses are important in this situation both for
readability of code and for ensuring that the behaviour is as the programmer intended. Where an expression consists
of either a sequence of only logical && or a sequence of only logical ||, extra parentheses are not required.
Clarify requirement for Cygwin DLL
Fix json parser to support escaped json strings + unit test
Fix json parser to support escaped json strings + unit test
Only copy images from directory where .texinfo resides if they are not in current one

Otherwise we end up copying two copies of images, and Automake does not like it
Merge pull request #218 from maciejmrowiec/master

Fix json parser to support escaped json strings + unit test
Merge pull request #219 from shaunamarie/sonar-violations

The operands of a logical && or || shall be primary-expressions (MISRA 12.5)
Merge pull request #213 from mvpel/hpux_lib_perms

Fix non-convergent HP-UX shared lib perms in failsafe.cf (R#1179)
Redmine #1598: add cf-sketch hooks in promises.cf
Updating documentation for build_xpath
Merge pull request #220 from tzz/master

Redmine #1598: add cf-sketch hooks to masterfiles
Merge pull request #221 from shaunamarie/features-xml-buildxpath

Updating documentation for build_xpath
Make KeepPromises not static and explain why
Add "listen" attibute for body server control to disable listening on port (for nodes)
Merge pull request #224 from maciejmrowiec/master

Add "listen" attibute for body server control to disable listening
Fix SetServerListenState reference error.
Respect ordering of atexit(3) and RegisterAtExitFunction (Redmine #1627)

RegisterAtExit functions were called after all other functions registered by
atexit(3), which resulted in crashes due to out-of-order deinitialization.

Given that RegisterAtExitFunciton is only strictly necessary under Windows for
Windows service implementation, ensure that Unix variants use ordinary atexit(3)
function and separate list of cleanup handlers is only collected under Windows.

Given Windows service won't call atexit(3) anyway, ordering is not important in
this case.