Look at NI instead of PRI in ps output on Linux

The PRI field is the Linux kernel scheduling priority which is
different from the niceness of a process (which is what a system
adminitrator and policy-writer is likely to want to select upon). This
value is almost always larger than 20, so it isn't selectable if the
defined range per the documentation is -20,+20 anyway.
cosmetic change
Checking for ioctl() return code in GetMacAddress()
Keep loopback interfaces, closes #1112
Don't grab mac address on interfaces having IFF_LOOPBACK flag
Add GetInterfaceFlags() to get NIC flags
Check for missing close brace '{' for body statements + 3 unit tests
Short-cut Epimenides if the string doesn't change.
Allow spaces in variable names during expansion

Improves RM #1970.

There are other cases of scanf using %[^.].%s, mostly in function
evaluation that this does not cover.
Merge pull request #544 from baptr/epimenides

Short-cut Epimenides if the string doesn't change.
Merge pull request #545 from baptr/issue-1970

Allow spaces in variable names during expansion
Add acceptance test for qualified array expansion with spaced indices.

Close #1970, pull-request 545
Hook up body constraint checking to parser, add/fix tests
Be even more resilient in error checking. Do not rely on errno.

errno might have an unpredictable value on the more esoteric Unices.
Merge pull request #541 from basvandervlies/body_body_forgot_cb

Check for missing close brace '{' for body statements + 3 unit tests
Add accessor for top promise on stack
Move auditing functions out of logging.h
Split syslog protocol implementation from logging.c
Inline PromiseLog function
Move PromiseBanner, SubBundleBanner from logging.h