Change GMPs default PRNG to Mersenne Twister

Since we don't allow users to seed the RNG, there is no BC issue with changing the generator.
Add gmp_random_bits(bits) and gmp_random_range(min, max)
Add test files
Mersenne Twister was added in GMP 4.2
Make sure min < max
Address issues raised by @nikic

 - Thread safety on rand init function.
 - Ret false on validation failure
 - Add _dep of temp_a to temp_b
 - Special case int sized min values
 - More tests!
DOMNodeList elements are accessible through array notation

Fixes #67949
Fixed a bug that causes crash when environment variable is access while parsing php.ini
Merge branch 'PHP-5.6' of https://github.com/php/php-src into gmp-random
Upated NEWS
Merge branch 'pr/846' into PHP-5.6

* pr/846:
  DOMNodeList elements are accessible through array notation
Updated NEWS for #67949
Merge branch 'PHP-5.6'

Conflicts:
	ext/dom/dom_properties.h
	ext/dom/nodelist.c
	ext/dom/php_dom.c
Copy all the arena allocated data from SHM to process memory at once
Directly use zend_string for php_implode/php_explode

Also drop some unnecessary zval separations and copies
Fix bug #68191: Broken reference across objects
Review a few more SEPARATE_ZVAL_IF_NOT_REF usages
Remove support for classes without class entries

get_class_entry must be non-NULL and return non-NULL.
Remove proxy object implementation
Remove get_class_entry object handler