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)
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
Making ini parser typed
- Added ZEND_INI_SCANNER_TYPED mode for parse_ini_string() and parse_ini_file()
- Added NULL_NULL token to separate it from BOOL_FALSE and BOOL_TRUE
- Added zend_ini_copy_typed_value() function for zval initialisation
- Updated RETURN_TOKEN() to observe scanner_mode
Added test case
Updated NEWS for #38409
Updated UPGRADING for #38409
Merge branch 'PHP-5.6'

* PHP-5.6:
  Updated UPGRADING for #38409
  Updated NEWS for #38409
  Added test case
  Making ini parser typed - Added ZEND_INI_SCANNER_TYPED mode for parse_ini_string() and parse_ini_file() - Added NULL_NULL token to separate it from BOOL_FALSE and BOOL_TRUE - Added zend_ini_copy_typed_value() function for zval initialisation - Updated RETURN_TOKEN() to observe scanner_mode

Conflicts:
	Zend/zend_ini_parser.y
	Zend/zend_ini_scanner.c