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.
Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5
more check for php_stream_fopen_tmpfile failure
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  more check for php_stream_fopen_tmpfile failure
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  more check for php_stream_fopen_tmpfile failure
Merge branch 'PHP-5.5'

* PHP-5.5:
  more check for php_stream_fopen_tmpfile failure
Fix unitialized vars when sql.safe_mode=1

which can break the subsequent mysqlnd_connect() call
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  Fix unitialized vars when sql.safe_mode=1
  more check for php_stream_fopen_tmpfile failure
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fix unitialized vars when sql.safe_mode=1
  more check for php_stream_fopen_tmpfile failure
Merge branch 'PHP-5.5'

* PHP-5.5:
  Fix unitialized vars when sql.safe_mode=1
  more check for php_stream_fopen_tmpfile failure
fixe preprocessor definition
Merge branch 'PHP-5.5'

* PHP-5.5:
  fixe preprocessor definition
Fix array_colum segfault

Separate zval to avoid gc from freeing
Merge branch 'PHP-5.5'

* PHP-5.5:
  Fix array_colum segfault
Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Merge branch 'master' of git.php.net:php-src
Merge branch 'PHP-5.5'

* PHP-5.5: