Merge pull request #462 from tzz/tzz/generic-classes-2

cfengine_stdlib.cf: add a "reached" class like "always" and a scoped generic classes body.
Pre-release version bump.
Post-release version bump.
Rename IntRange2Int -> IntegerRangeFromString, push out FatalError, PromiseRef
Push FatalError out of Str2Mode
Remove FatalError in HavePublicKey, replace with CfOut
Replace FatalError in dbm filename construction with ProgrammingError
Remove FatalError from Cf3ParseFile, replace with CfOut
Remove FatalError from ConstraintNew, add PromiseCheckType

This improves error output but defers checking of common constraints
attached to promises to eval-time, rather than FatalError'ing out of the
parser. Although the impact should be low, this checking needs to be
brought back at post-parse time (PromiseCheckPartial) soon.
Replace FatalError in ReadDir with ProgrammingError
Fix CfReadLine semantics in error cases
Properly handle errors arising during CfReadLine
Do not resolve and flatten list Rvals on RvalCopy

Previously, Rlist Rvals were flattened when they were copied. Now, we do this
explicitly in evaluation.
Remove version info from PromiseRef (output decoration function)
Remove documentation for retired features
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)