Make CFLAGS overridable.

If $CFLAGS is not last in the assignment, then you cannot override
flags like -O2.
Correction to: Record which promise set each variable.

Our current Promise may be a copy, that'll be free()d at the end of
the current convergence pass; comparing this to the Promise of a later
assignment won't be equal even if it's the original (or another copy
of it); and dereferencing it during reporting shall be regrettable.
Fortunately, a Promise's .org_pp records the original in any copies,
so we can record that instead, bypassing both problems.
Add data containers to meta promises, with acceptance test.
Merge pull request #1295 from sudhirpandey/patch-1

To record the caused of failure in generated xml
Make sure printing of variables and classes is off by default.
Make testall test what's in the current folder, not `dirname $0`.

This is so that it can be called directly from masterfiles.
Export variables to tests so we can find the enterprise plugin.
Redmine#4025: add acceptance test
Redmine#1900: test basic template and trailing newline
Fix ExtractScalarPrefix, need to look ahead after dollar
Merge remote-tracking branch 'tzz/test/redmine4025-namespaced-bundles'
Revert "Redmine#3323: @include mechanism"

This reverts commit 3fc17367cb1ad78a007a41a8a554ac3f5566fb63.

Conflicts:
	libpromises/cf3lex.l
	libpromises/cf3parse.y
tests/acceptance: improve default_check_strcmp and add default_check_regcmp
Redmine#3122: acceptance test for list interpolation order
Ensure VarRefs with special scopes do not inherit a namespace.

Close #4025
Use CfReadLine (getline) in function regline, chop Chop.

This removes line length limitations and space truncation in Chop.

Close #3434, #1569
Redmine#3655: bundlesmatching() gets tag support
tests/acceptance: add generic classes and reporting
Redmine#3184: acceptance test for editing immutable files
Merge pull request #1303 from tzz/test/3184-editing-immutable-files

Redmine#3184: acceptance test for editing immutable files