Fix destruction order in zend_shutdown (bug #65463, #66036)

If Apache or a similar SAPI receives a signal during PHP processing
it calls zend_shutdown() without calling shutdown_executor().
	#65463: If a module like Gearman or Memcached is loaded,
in the unfixed version it is unloaded by zend_destroy_modules() before the
CG(CLASS_TABLE) is destructed. When CG(CLASS_TABLE) is destructed,
any pointers to methods (specifically around destruction) in the unloaded
module's .so are now dangling and the process segfaults.
	#66036: Any subclasses of an internal class like ArrayObject need
to be destructed in order: subclass first and then the internal class. In the
unfixed version zend_shutdown() clears the CG(CLASS_TABLE) from the head
of the list onwards, so internal classes are destructed first and user-defined
classes last. Internal classes are alloc/deallocated with malloc/free while
user-defined classes with emalloc/efree. If there's shared data between them
then efree() could be called instead of free() leading to a seg-fault.
Fix typo from commit 32314f6b6
Only destruct if EG(active) in zend_shutdown(). (bug #65463, #66036)
Use global symbol table for completion after $ in readline.
Fixed bug #67731 finfo::file() returns invalid mime type for binary files
Merge branch 'PHP-5.6'

* PHP-5.6:
  Fixed bug #67731 finfo::file() returns invalid mime type for binary files
updated NEWS
Merge branch 'PHP-5.6'

* PHP-5.6:
  updated NEWS
Fix bug #67938: Segfault when extending interface method with variadic

We only want to check extra optional args if the proto function is
variadic, not when we're adding extra variadic args.
Merge branch 'PHP-5.6'

Conflicts:
	Zend/zend_compile.c
fix iptcembed()
fix dir separators in test
fix expected warning in test
add a few more patterns to .gitignore
remove a few gcc format attributes from some printf-like functions
Since now PHP's printf-like functions have many custom specifiers, the amount of false-positives wasnt worth it
fix C89 compat
fix acosh and asinh on win64 with vs2013+
fix asinh() on win64 for big negative values
fix acosh for vs2012 and earlier
switch to built-in atanh() on vs2013 and up