Implement more Addrinfo-related logic throughout socket ext.

* Addrinfo.getaddrinfo
* Socket and ServerSocket binds that take Addrinfo
* Correct logic for SO and SOL constants in BasicSocket
* ServerSocket for listens in socket.rb
Incorporate fix for rubygems/rubygems#771.