Redmine#3320: acceptance test
Move shared library functions to its own file.

They are not tied to the enterprise plugin specifically.
Rename enterprise extension macros to consistent names.

This is to enable reuse of the same files for other extensions in the
Enterprise product.
Redmine#3334: pass containers with@(var) notation, just like lists
typedef ServerConnectionState
Rename CFDB_HostsWithClass ->  ListHostsWithClass
Merge branch 'master' of github.com:cfengine/core into general_plugin

Conflicts:
	configure.ac
	libpromises/enterprise_extension.c
	libpromises/enterprise_extension.h
Fix Makefile test after renaming.
Log error on var expression index brackets imbalance, rather than assert
VarRef parsing must only parse one level of index bracketing

See unit test test_nested_array
Merge remote-tracking branch 'tzz/tzz/redmine-3320-duplicate-namespace-bundle'
Fix duplicate bundle/body checking with namespaces.

Close #3320
Add iteration index to output
Remove return statement from void function VerifyCopiedFileAttributes
Merge pull request #927 from tzz/master

Remove return statement from void function VerifyCopiedFileAttributes
Use expanded promiser in stack path
Fix only log promise iteration in stack path for leaf iteration
Merge pull request #908 from tzz/feature/redmine3334-passing-containers

Redmine#3334: pass containers with@(var) notation, just like lists
Merge pull request #926 from tzz/tzz/2516-numeric-sort

Factor out numeric sorting and handle trailing garbage better
Enterprise conversion functions