Fix overbroad skipif include
Move some declarations to sockets.c
Move & improve PHP_SOCKET_ERROR def
Remove a Windows only warning
Fix tests (Windows)
Fix wrong blocking state being set
Merge branch 'sockets_54_improv' into PHP-5.4

* sockets_54_improv:
  Fix wrong blocking state being set
  Fix tests (Windows)
  Remove a Windows only warning
  Move & improve PHP_SOCKET_ERROR def
  Move some declarations to sockets.c
  Fix overbroad skipif include
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fix wrong blocking state being set
  Fix tests (Windows)
  Remove a Windows only warning
  Move & improve PHP_SOCKET_ERROR def
  Move some declarations to sockets.c
  Fix overbroad skipif include
Ignore warnings on EAGAIN/EWOULDBLOCK/EINPROGRESS

See bug #63570
Wrap recvmsg() and sendmsg()

This introduces two new functions:

int socket_recvmsg(resource $socket, array &$msghdr, int $flags)
int socket_sendmsg(resource $socket, array $msghdr, int $flags)

The arrays representing struct msghdr follow the native counterpart
closely: structs are mapped to arrays, fields to array elements whose
key is the name of the field without the prefix (e.g. "name" instead
of "msg_name") and array are mapped to sequential numeric PHP arrays.

Right now the only type of ancillary data supported is fot the
level/type pair IPPROTO_IPV6/IPV6_PKTINFO.

I also refactored out the name resolution functions and made
sockets_strerror() a global function.
Add test for recvmsg()
Add IPV6_UNICAST_HOPS option constant.
Fix bug converting zval sockaddr

The bug ocurred when the family was not specified but was instead guessed.
Fix bug in from_zval_write_control_array()
Support for IPV6_HOPLIMIT and IPV6_TCLASS
Add test and slightly tweak another
Added missing return statements
Improve imported socket family detection

Also added constant SO_FAMILY.
Redactor to expose socket_import_file_descriptor()
Added support for AF_UNIX messages

Added constants: SCM_RIGHTS, SCM_CREDENTIALS and SO_PASSCRED.

The function socket_cmsg_space() was modified to support message types with
variable size. Its new signature is:
int socket_cmsg_space(int $level, int $type, int $n)
where $n is the number of repetable elements that the message is composed of.