Redmine #5763: Do not create a zero sized file if src does not exist.

(cherry picked from commit 5a9f8df167ebae77d2e60069f23514c6e113170a)

Conflicts:
	lib/3.7/files.cf
Redmine#5761: explicitly mark all commands as kept on return code = 0

(cherry picked from commit 44a203e0d340f39c9f0210ed292fd93ef39f11a3)

Conflicts:
	lib/3.7/cfe_internal.cf
	lib/3.7/common.cf
	lib/3.7/services.cf
	lib/3.7/vcs.cf
Redmine#5761: adjust masterfiles because of u_kept_successful_command body

(cherry picked from commit 7c895defcdb1534d80cb33f0d42871ddfc2a6feb)
Redmine#5709: on Windows, set mem_free and mem_total to 0

(cherry picked from commit d44523e7427383880aece4b182d9a6a59a066909)
Redmine#5829,#5830: remove the check for registered chkconfig and do not stop unnecessarily

(cherry picked from commit e0ab4efc943d6bd3007a9d6a89e9a9a7255fafe1)

Conflicts:
	lib/3.7/services.cf
promises.cf: run Design Center sketches before any user policies

(cherry picked from commit bece6527ef5816887778291894c505cbd1f03db6)
Redmine#3864: describe the policy framework

(cherry picked from commit 6153e83d6b6e10a1916d40920f73b3837c584d46)
Redmine#3864: adjust docs for 3.6.x
Redmine#5730: add more platforms to default software directories

(cherry picked from commit 4b2b06815b18c09b43c960e1321ba4cc834dfa4e)
Add feature to easily disable agent email output

(cherry picked from commit 1ba3b87539e5dc50a11f144616c8e2c78aa048c7)

Conflicts:
	controls/cf_execd.cf
remove cf-twin the policy

(cherry picked from commit 14bf7587ba960032bc3026fb5e1560a674035dc9)
Regenerate i386 test packages.

Somehow the last creation had made corrupt packages.

(cherry picked from commit 6c8a7702070e6dfebb3946c58838161bc0594eb6)
Fix RHEL4 receiving wrong arguments to yum.

Caused by incorrect reference to redhat hard class.

(cherry picked from commit 0d8a777e1e469bd60490bdda91770e9407684206)

Conflicts:
	lib/3.7/packages.cf
Fix "multiple packages" error in package test.

We need to install current acrhitecture, otherwise rpm will give us
errors about the package name referring to more than one package.

(cherry picked from commit 29a6a753856c2ae108ca54a79682fbaddaaf0fe5)
Fix incorrect version string in package test by reusing global string.

(cherry picked from commit 282c46562405d937e606a8e98455eb945b389aaf)
Disable package tests on SUSE. They are not adapted to zypper.

(cherry picked from commit 83b0e1b0ca006186dd4731e0824fadd94950bc13)
Redmine#5723: add cfengine_internal_sudoers_editing_enable class and respect it

(cherry picked from commit 58229d6b61d7bb505ccab2a3f1b1953111a153d4)

Conflicts:
	def.cf
Added allowlegacyconnects and protocol_version

They are commented out so that CFEngine 3.6 is compatible by default to
old installations.

(cherry picked from commit f03522d18d6263f77cdb8dd91d8daf86bd0dff94)
Clarify trustkeysfrom.

(cherry picked from commit d7e5cf03fd674c873d88b7cae5af9fbdb3a2d3ca)
README.md: document host report

(cherry picked from commit 24a7fb175cca777ccc2f8a1e55c6a4369c2f2fa6)