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.
Redmine#2272: maparray() function
Redmine#2272: maparray() function style cleanup and return failure as needed
Out-of-tree builds broke again, fix.
Redmine#1735: classesmatching() function
add toc to guide
modify stdlib path
Introduce EvalContextVariableGet

This is a major structural commit that should bring all of variables
into EvalContext.

Cleanup work around Scope is yet to come.
Don't pass whole Promise struct to FindPidMatches

It only uses pp->promiser
Kill older processes without using processes promise

This way processes promise implementation may be moved to cf-agent where it
belongs (Mantis #1974)
Move processes promises out of libpromises

This promise type is only enabled in cf-agent, so move it there
(Redmine #1974)
Split Dir into Dir (local) and AbstractDir (local/remote)
Update enterprise stubs for EvalContext
Redmine#2178: add filestat() function and cfengine_stdlib.cf support
Remove unused function
Remove comment which no longer applies
Unexport function only used internally
Update for Nova_ShowPromises prototype change
Constify EvalContext in FatalError, VariableGet and friends
Remove useless ExpandPrivateScalar, just use ExpandScalar, it does the same thing