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!
Merge branch 'PHP-5.6' of https://github.com/php/php-src into gmp-random
Upated NEWS
Allow to substitute storage layer in memory manager.
Merge branch 'pull-request/839' into PHP-5.6

* pull-request/839:
  Upated NEWS
  Address issues raised by @nikic
  Make sure min < max
  Mersenne Twister was added in GMP 4.2
  Add test files
  Add gmp_random_bits(bits) and gmp_random_range(min, max)
  Change GMPs default PRNG to Mersenne Twister
update NEWS and UPGRADING
Merge branch 'PHP-5.6'

* PHP-5.6:
  update NEWS and UPGRADING
  Upated NEWS
  Address issues raised by @nikic
  Make sure min < max
  Mersenne Twister was added in GMP 4.2
  Add test files
  Add gmp_random_bits(bits) and gmp_random_range(min, max)
  Change GMPs default PRNG to Mersenne Twister

Conflicts:
	ext/gmp/gmp.c
Added API function to retrive current custom heap handlers
Fixed bug #68128

Three issues are addressed:

- RecursiveRegexIterator::accept() should accept non-empty arrays without
  applying any regular expression and RegexIterator::accept() should not accept
  an array.
- RegexIterator::accept() should not accept an atom that fails to match
  anything, even when PREG_PATTERN_ORDER is used (which would return an array
  of empty arrays).
- RecursiveRegexIterator::getChildren() should pass all constructor arguments
  to its child iterator instead of just the regular expression.
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Fixed bug #68128
Merge branch 'PHP-5.6'

* PHP-5.6:
  Fixed bug #68128

Conflicts:
	ext/spl/spl_iterators.c
Fix bug #68027 - fix date parsing in XMLRPC lib
Fixed bug #68044: Integer overflow in unserialize() (32-bits only)
Fix bug #68089 - do not accept options with embedded \0

Conflicts:
	ext/curl/interface.c
Fix bug #68113 (Heap corruption in exif_thumbnail())