Add warning to the top of bootstrap failsafe.cf
Bug #2057 - Messages from edit_xml operations do not show the xpath

Improved error messages for edit_xml promises:
- include more useful information in error messages, such as select_xpath and name of XML document being edited
- verify cfPS() parameters, such as cf_error or cf_verbose
- improve general appearance of messages, such as punctuation and whitespace

Correct SanityCheckTreeInsertions() so that there are not error messages on multiple passes, when inserting a tree into an initially empty file.
(cherry picked from commit ed81339810fca62298d2553609d61739a2aeb7fd)

Conflicts:

	src/files_editxml.c
Fix for 1804

At creation time we were always assigning 0600 as mode to the new file.
This fix stats the source file first and assigns the same mode as the
original file.
Acceptance tests are updated too.
(cherry picked from commit 426a922790fb94b65239b0a32d21918aa804ec35)
ChangeLog update
Don't flood error messages when processes are out of defined range.

If promises are not in the desired state, then this is recored via cf_verbose,
not via cf_error. cf_error is for failures that cannot be fixed.
(cherry picked from commit 77d08a687f73bb97c758b9defe73a36e0a96207b)
Fix initialization of Promise struct in TestExpandPromise

This addresses Redmine #2021 - https://cfengine.com/dev/issues/2021

When the namespace member was added to the Promises_ structure in
commit 09613d808adffefd926cb686a9c53e252bb61e6 the initialization
of that char pointer was added to NewPromise, but omitted from
TestExpandPromise, which builds a standalone Promise for testing.

When the code attempted to copy the test promise, it called xstrdup
on the uninitialized pointer in pp.namespace, resulting in a core
dump. By initializing the namespace string in TestExpandPromise,
this problem is avoided.
(cherry picked from commit 32a8e2f3670d12b6fddf0c03f9fa9fcbc16412a0)
ChangeLog update
Rename update.cf bundle names to fit internal naming schema.
(cherry picked from commit 92d901ca3ffe287651b225d4ef0c3d2c31d9d476)
add some classes to not display some messages when people run hardcoded failsafe many times

Conflicts:

	src/bootstrap.c
Fix incomplete conflict resolution in: 8cad2dda4afbc970a538b1b038cce41e82db495b
Pre-release version bump.
Post-release version bump.
check for null Promise *pp before dereferencing
(cherry picked from commit 6c65953ad3a7bfdc1b14024bb8807e89c291a231)

Update ChangeLog.
don't create a symlink in /usr/local/sbin for cf-know in Community policy. cf-hub and cf-know were removed since 3.4.0
(cherry picked from commit 597a15472179636a5903d343d3ab8773bf6fb3da)

Updated ChangeLog
Check for function: xmlFirstElementChild in library: libxml2, in order to insure that the
current version of libxml2 is installed.
(cherry picked from commit ef3adaa3d342c3b7210f46ffb1b3f2e2b0d25f29)

Update ChangeLog.
Pre-release version bump.
Post-release version bump.
Backport fix for qualified array expansion from trunk.

$(other.array[$(other.list)]) would expand to
$(other#array[$(other.list)]) in output due to issues mapping remote
lists to "this" scope. Fix skips the outer "." to properly map.

Fixes Issue #1998, Mantis #1128

Originally Pull #421
Do an optimization/issue-correcting step during opening the database

Optimization step detects broken databases, so it lowers chances of agents
hanging forever or segfaulting inside libtokyocabinet.
(cherry picked from commit 85c165bd072a1c5a64c11faa7d1541f555226df5)
Don't provoke database corruption by mixing read/write and cursor operations
(cherry picked from commit 15176584a52ffa09bef437a04c2a07985753aea9)