Revert "Revert "Redmine#6063: add 0-9 A-Z _ to allowed context of module protocol""

This reverts commit 09e23322db65e315834e3c13a82f31bc977fb2e7.
Redmine#6063: refine allowed context of module protocol and test with a regex
Redmine#6063: move context regex out of the code block and rename the variable helpfully
Fix incorrect pointer cast in lock purging code.

NextDB() takes a (void **) pointer, not a (void *), so we would write
the pointer value into the struct instead, giving incorrect results
when comparing the time later.
Introduce timed tests in acceptance test framework.

They enable waiting for a period of time, for example to let locks
expire, while running other, non-timed tests in the meantime. See the
README for more details.
Redmine #6088: Fix cfengine template producing a zero sized file.

The bug depends on timing: If you run a file promise with a template,
everything works fine. Now, if you run the same promise again after
more than one minute, but less than three, the resulting file is
empty.

The reason is that the internal bundle produced by the cfengine
template engine has an ifelapsed value of 3 minutes. What would happen
then is that the file promise, which has an ifelapsed value of 1,
would execute, but none of the contained edit_line promises would,
leaving the file empty.

Fixed by reducing the ifelapsed value for internal edit_line promises
to one.

Also moved the definition to a more local header file. It is not
needed globally.
Redmine#6109: Make CFEngine able to compile on old OpenSSL implementations by assuming sane defaults, and alerting the user if they are not.

Modified by: Kristian Amlie <kristian.amlie@cfengine.com>
Merge branch 'pull-request-1761'
Redmine #6133: Fix compilation on OpenBSD.
Merge pull request #1759 from kacfengine/timed_tests

Timed tests and fix for zero-sized file.
Fix CFLAGS order.
Fix detected flags from ACX_PTHREAD being reset.
Include path should be CPPFLAGS, not CFLAGS.
Fix incorrect variable incrementation in testall.
Redmine#5241: do not reevaluate promises for known classes
Short-circut evaluation of classes promises if class is already set

Close #5241
Acceptance test unstaged
Default bundlesequence to { main }

This removes the need for a body common control to satisfy
a runnable policy. For example a runnable policy may be

bundle agent main {
 reports:
   "hello world";
}

Redmine #4993
Merge pull request #1765 from jimis/minor

Fix detected flags from ACX_PTHREAD being reset.
Redmine#4993: acceptance tests
Merge pull request #1750 from tzz/bugfix/redmine6063-context-names

Redmine#6063: Context name validation is too strict