Fix filestat test pass condition.

Pass when all conditions are met, not when any condition is met.
Redmine #2693: some 10_files tests check for unpromised gid numbers

Some platforms, such as HP-UX, do not have root in group 0 by default.
Certain tests expect a string showing mode, nlinks, uid, gid, and size
to show a uid and gid of zero for the test file, but without promising
the GID the file defaults to root's primary group. On HP-UX this is 3,
causing the test to fail.

The tests have been updated to promise the same mode, uid, and gid that
are expected in the "expect" string for the test file that is created.
Using platform.h instead of system headers

This way all the logic for deciding which headers need to be called is
kept inside platform.h.
Merge pull request #675 from cduclos/master

platform.h instead of system headers for HPUX
Set of fixes to logging.
  - Fix setting debug level in options.
  - General standardization of logging
Moar changes
Bring master ChangeLog up to speed wrt 3.4 fixes
Fix MinGW build for output review
Add function categories

This is for output in cf-promises --syntax-description for automatic categorization
of functions for documentation.
Rename ScopeDeleteSpecialScalar -> ScopeDeleteSpecial
Remove ScopeNewScalar, convert to EvalContextVariablePut
Remove ScopeNewList, convert to EvalContextVariablePut
Redmine #2702: add missing uid/gid name mapping for hpux & aix

Tests 01_vars/02_functions/001.cf and 002.cf fail on HP-UX and AIX
because the hard classes don't cover the uid and gid mappings for
those platforms. This commit adds the necessary information to
allow the tests to pass on those two platforms.

HP-UX information was gathered from and tested on my own HP-UX
system, and for AIX see the following links for sample passwd
and group files:

http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.security%2Fdoc%2Fsecurity%2Fpasswords_etc_passwd_file.htm

http://www.rootunix.org/AIX/migrate.txt
Combine ScopeNewSpecialScalar, ScopeNewSpecialList -> ScopeNewSpecial
cannot create documentation for cfengine stdlib with those two misplaced parenthesis
Redmine #2704: fix canonify issue with negative signed chars

On HP-UX 11.11, the "isalnum()" call expects a range of values from
-1 to 255. However the range of a signed char is -127 to 127, and
when an out-of-range negative number is passed to isalnum() on this
platform, the results in the case of the Yen symbol in acceptance
test 01_vars/02_functions/007.cf, with a signed char value of -91,
isalnum() returns "2" which is taken to mean that the Yen symbol
is alphanumeric.

By casting to "unsigned char" before the cast to "int" for the call,
the "-91" value is converted to a valid character set value of 165,
which is properly handled by isalnum() and thus allows the test to
pass.
Merge pull request #678 from jimis/master

Changelog update.
Merge pull request #680 from jremond/parenthesis_misplaced

cfengine_stdlib typo breaks documentation generation
More ChangeLog entries.
Merge pull request #685 from kacfengine/changelog

More ChangeLog entries.