Allow PHP 7 to install in Apache 2 on OS X

This fixes the fundamental part of #67910.  The complete change from
php5 -> php7 in sapi/* still needs to be done.
Remove 550+ compile warnings on OS X

The warnings had the signature:
php-src/ext/mysqlnd/mysqlnd_debug.h:127:25: note: expanded from macro 'DBG_ENTER_EX2'
                          if (dbg_skip_trace); /* shut compiler's mouth */\
                                             ^
php-src/ext/mysqlnd/mysqlnd.c:114:2: note: put the semicolon on a separate line to silence this warning
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Remove 550+ compile warnings on OS X
Merge branch 'PHP-5.6'

* PHP-5.6:
  Remove 550+ compile warnings on OS X
Simplify `argument` production
Remove parenthesis_expr

This was necessary previously to handle yields, now it only clutters
up the grammar.
Introduce optional_expr
Don't distinguish between ast/list in parser

This removes the need to use $<ast>{n} or $<list>$ casts in the
reduction actions.

Keeping the distinction in the parser doesn't really give us any
benefit and only makes changing the grammar harder.
Combine foreach copy / switch cond stacks

Now one common stack to handle both, which stores znodes instead of
full oplines (foreach copy stack) or switch entries (switch cond
stack).

Also removed EG(start_op) while at it.
Don't depend on exact parse error messages in assert tests
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
Initial work for function return types

The parser accepts the return type and stores it in the ast. The
return_type struct is added to zend_op_array, zend_function, and
zend_internal_function but the data isn't populated from the ast yet.