Starting a branch for this patch, because it needs more tests and documentation before being merged to master. Original commit message: connect() and bind() use an Addrinfo PMC (contains multiple socket addresses in the right order [RFC 3484]) instead of a Sockaddr PMC. It is no longer necessary to create the socket before calling bind() or connect() as both need to create sockets with the appropriate address family on their own. Also, the Sockaddr PMC internally uses a struct sockaddr_storage in combination with a length field instead of an struct sockaddr_in. This commit also implements the local_address and remote_address methods for the Socket PMC. The Sockaddr PMC can now be converted to string.
in stead, Sub PMCs which actually consume HLL info create their HLL if it is not yet present