Add create_sid to session_set_save_handler and SessionHandler

A lot of code already existed to allow a custom create_sid handler, but
lacked a specific implementation.

Therefore I have added a 7th (optional) argument
session_set_save_handler, to allow a user function to be supplied for
session id generation.

If a create_sid function is not supplied, the default function is
called in its absence to preserve backwards compatibility.

Likewise create_sid only added to SessionHandler class, and not the
interface to maintain backwards compatibility. If the result is not
overridden, the default is called.
Tests, fixes and optimisations

* Amended existing tests to cater for new functionality.
* Implemented fixes and optimisations recommended by NikiC
* Added create_sid to the registered interface. This was breaking
tests. It also now breaks BC for people implementing the interface
directly instead of extending the class.
Add schema default/fixed value support

Added support for adding fixed/default values during XSD validation
and added/updated associated tests
skip test for bug #64936 when tokenizer not built
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  skip test for bug #64936 when tokenizer not built
Update git rules (5.5 is stable, 5.3 sec only)
Merge branch 'PHP-5.3' into PHP-5.4
Merge branch 'PHP-5.4' into PHP-5.5
Change the search in get_status_string() to correctly handle unknown codes.

This previously used a buggy implementation of binary search that would loop
infinitely for unknown codes when searching in reason arrays of particular
sizes (such as the one we have at the moment). Since C provides bsearch(),
we'll just use that instead, since libc authors hopefully get this right.

There was also an additional bug that was masked by the first one: the design
was that an unknown code would result in get_status_string() returning NULL,
which would then result in a segfault in append_http_status_line(), since it
assumed that it would always receive a valid string pointer that could be
handed off to smart_str_appends_ex(). We'll now return a placeholder in that
case.

Fixes bug #65066 (Cli server not responsive when responding with 422 http
status code).
Fix the spelling of the php_cli_server_http_response_status_code_pair typedef.

Specifically: php_cli_server_http_reponse_status_code_pair →
php_cli_server_http_response_status_code_pair.
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fix the spelling of the php_cli_server_http_response_status_code_pair typedef.
  Change the search in get_status_string() to correctly handle unknown codes.
fix #65070, bgcolor does not use the same format as the input image with imagerotate
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
fix #65070, bgcolor does not use the same format as the input image with imagerotate
Fix non-specialized executor build

Removed a couple of calls to FREE_OP2() that were left behind in
the handlers for break and continue opcodes after commit 7628da98
Merge branch 'PHP-5.4' into PHP-5.5

Conflicts:
	Zend/zend_vm_def.h
Fixed Bug #65060 imagecreatefrom... crashes with user streams
Fixed Bug #65084 imagecreatefromjpeg fails with URL

Regression introduced in 8a90aad (drop of USE_GD_IOCTX)
Secure with php_stream_can_cast to avoid segfault in php_stream_cast.
(encountered when imagecreatefromxpm with URL)
Fix bug #65088 (Generated configure script is malformed on OpenBSD).

We fell foul of a "common urban legend"[0], which resulted in us backslash
escaping double quotes that we didn't need to in acinclude.m4. This worked fine
on most shells, but OpenBSD's ksh implementation really didn't like it.

[0] http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Shell-Substitutions.html
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fix bug #65088 (Generated configure script is malformed on OpenBSD).
Adding test to stabelize keys used when converting objects to arrays