Initial coalesce operator implementation
Added test
Ensure not evaluated twice
Extended coalesce operator test case for ordering/short-circuiting
Merge branch 'coalesce_operator'

* coalesce_operator:
  Extended coalesce operator test case for ordering/short-circuiting
  Ensure not evaluated twice
  Added test
  Initial coalesce operator implementation
Update operand types for coalesce operator
Opcache compatibility for coalesce operator
removed *.dsw and *.dsp files
Make gmp_setbit and gmp_clrbit return values consistent
Drop support for GMP 4.1

 * Consistent base conversion support (max: 62)
 * mpz_remroot always available
 * Use gmp_randinit_mt instead of LCG
Fix segmentation fault in debug_backtrace()
Set an LDAP error code when failing ldap_bind due to null bytes

Some applications check a LDAP link's error code after seeing ldap_bind
fail due to a null byte bind attempt and hence incorrectly receive the
last set error code.

Fix by setting an LDAP error code before returning in this case.
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Set an LDAP error code when failing ldap_bind due to null bytes
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Set an LDAP error code when failing ldap_bind due to null bytes
Merge branch 'PHP-5.6'

* PHP-5.6:
  Set an LDAP error code when failing ldap_bind due to null bytes

Conflicts:
	ext/ldap/ldap.c
Fixed segfault
Fixed bug #51800 proc_open on Windows hangs forever

This loop can block for some minutes, theoretically. Practially
however, this is a 99% non issue for a normal use case. This is
required because read() is synchronous. The PHP streams API wants
to fill its internal buffers, therefore it might try to read some
more data than user has demanded. Also, for a case where we want
to read X bytes, but neither enough data nor EOF arrives, read()
will block until it could fill the buffer. If a counterpart station
runs slowly or delivers not all the data at once, read() would
still be waiting. If we quit too early, we possibly could loose
some data from the pipe. Thus it has to emulate the read()
behaviour, but obviously not completely, just to some grade.

Reading big data amount is for sure an issue on any platforms, it
depends on the pipe buffer size, which is controlled by the system.
On Windows, the buffer size seems to be way too small, which causes
buffer congestion and a dead lock. It is essential to read the pipe
descriptors simultaneously and possibly in the same order as the
opposite writes them.

Thus, this will work with smaller buffer data sizes passed through
pipes. As MSDN states, anonymous pipes don't support asynchronous
operations. Neither anonymous pipes do support select() as they are
not SOCKETs but file descriptors. Consequently - bigger data sizes
will need a better solution based on threads. However it is much
more expencive. Maybe a better solution could be exporting a part
of the internal doing as a userspace function which could perform
some kind of lookahead operation on the pipe descriptor.

This is just the first stone, depending on the user feedback we
might go for further improvements in this area.
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Fixed bug #51800 proc_open on Windows hangs forever
updated NEWS
Merge branch 'PHP-5.6'

* PHP-5.6:
  updated NEWS
  Fixed bug #51800 proc_open on Windows hangs forever

Conflicts:
	main/streams/plain_wrapper.c