Fix bug #67327: fileinfo: CDF infinite loop in nelements DoS

Upstream fix: https://github.com/file/file/commit/f97486ef5dc3e8735440edc4fc8808c63e1a3ef0
Fix bug #67328 (fileinfo: numerous file_printf calls resulting in performance degradation)

Upstream patch: https://github.com/file/file/commit/b8acc83781d5a24cc5101e525d15efe0482c280d
Fixed bug #66307 Fileinfo crashes with powerpoint files
backport this piece from 5.6, related to the #66307 fix
Fixed broken XML junit output due to escaping of CDATA sections

I've removed CDATA and used htmlspecialchars as the output might not be UTF-8 safe, as pointed out by ircmaxell in 26b37f1792dfaf9b0b30f81e492c8f68b9ece571
Escape non-printable characters in the junit XML output

XML doesn't allow most of the characters < 0x20 and binary output
breaks XML parsers. Such characters are not allowed as entities
either, so the generated entities are escaped in order to be printed
as text.
Fix bug #67249: printf out-of-bounds read
update NEWS
updated libmagic.patch for 5.4+
Check for zero-length keys in spl_array_skip_protected and don't skip them.

Fixes bug #67360 (Missing element after ArrayObject::getIterator).
Fixed bug #67359 (Segfault in recursiveDirectoryIterator)
Fix bug #67326	fileinfo: cdf_read_short_sector insufficient boundary check

Upstream fix https://github.com/file/file/commit/6d209c1c489457397a5763bca4b28e43aac90391.patch
Only revelant part applied
NEWS
(re)add cve number in NEWS, from 5.4.29