Redmine #2691: missing group name spec for some platforms in test

The 10_files/02_maintain/205.cf has a test_perms body which sets the
owner and group of the test file by "root" user and a group name,
then the rest of the test run compares the UID and GID numbers to
verify the test. The group names are defined for either linux or freebsd,
but no other platforms.

In the absence of a specification, the file created by the test takes the
default group of the process owner, which for root is "sys" GID 3 on
HP-UX 11.11, causing the test to show "0 3" instead of "0 0" and thus
failing.

This commit adds correct GID 0 group names for hpux, solaris, netbsd,
openbsd, darwin, aix, and cray platforms.

The "sys" group for Cray:
   http://docs.cray.com/books/S-2311-22/html-S-2311-22/z1055890212.html

The "system" group for AIX:
   http://publib.boulder.ibm.com/tividd/td/user_admin/GC32-0661-01/en_US/HTML/admusref34.htm

I was unable to find documentation for unix_sv, sco, qnx, dragonfly, or
vmware platforms.

With this update, the test now passes on HP-UX:

mphp1# ./testall --agent=/var/cfengine/bin/cf-agent 10_files/02_maintain/205.cf
======================================================================
Testsuite started at May 21:19:06
----------------------------------------------------------------------
Total tests: 1

./10_files/02_maintain/205.cf Pass

======================================================================
Testsuite finished at May 21:19:24 (18 seconds)

Passed tests: 1
Failed tests: 0
Failed to crash tests: 0
Skipped tests: 0
mphp1# uname -a
HP-UX mphp1 B.11.11 U 9000/785 2007997283 unlimited-user license
mphp1#
Switch to a compromise behavior in shell execution.

After powershell support was introduced in 0117c067e4fc67c6e2, we
stopped caring if the first word in a shell command was a valid
executable with an absolute path. This was in order to be able to use
shell builtins. However, it causes a behavior change in existing
policies that is potentially dangerous: Specifying a nonexisting
command would leave the variable unassigned with the old behavior,
whereas in the new behavior, the variable will contain the error
message from the shell.

Switching back to the old behavior will break shell builtins again, so
instead we do the compromise: Only look for an executable if the
command starts with an absolute filename. Since absolute filenames
were previously enforced, virtually all existing policies should have
them and therefore use the old behavior.

Solves issue 2738.
More ChangeLog entries.
Merge pull request #713 from kacfengine/changelog

More ChangeLog entries.
Merge pull request #712 from kacfengine/issue-2738

Switch to a compromise behavior in shell execution.
Fix syntax errors in standard library

1. In valid slist (missing ",")
2. expireafter not allowed in package_method
Show extra promise info in verbose mode

On promise status update (cfPS), print additional info about the promise
 handle, comment, version, promisee, if available, at verbose level.

Close #2636
More output standardization

There should only be output string changes in this commit and therefore
should be riskless.
Verified dragonfly and qnx gid0 names

Added support for qnx and dragonfly gid0 group names, based on:

http://gitweb.dragonflybsd.org/dragonfly.git/blame/5707c30f1cb20f5dc91961f50f676e3c9ed7dae9:/etc/group

http://www.qnx.com/developers/docs/qnx_4.25_docs/qnx4/user_guide/accounts.html
Merge pull request #718 from mvpel/redmine_2691

Redmine 2691: test does not specify group names for some platforms
Merge pull request #716 from sigurdteigen/cleanup/promise-context-output

Show extra promise info in verbose mode
Merge pull request #717 from sigurdteigen/cleanup/more-output-standardization

More output standardization
English typo fix:

pening -> opening
Less chatty output when finding matching processes.

Don't log process-matches that are later on skipped, and log only in
verbose mode, unless it's a dry-run (then log as error).

Fixes #2777
Tighten example
Remove promiser as it is not relevant to the example
add comment '# Directory to monitor for changes.'
add 'body common control' with bundlesequence
remove class constraint from reports promise
change formatting to match the other examples