Socket.getaddrinfo handles special hosts '<any>' and '<broadcast>'

As said on rubinius#2111, here is the new pull request to handle special hosts  '<any>' and '<broadcast>', without converting last item on returned array to a packed string.

This pull request also contains a commit to modify specs "Socket#gethostbyname returns broadcast address info for '`<broadcast>`'" and "Socket#gethostbyname returns broadcast address info for '`<any>`'" to only test the first item returned.