Fix #2137 Socket.getifaddrs returns incorrect interface list...

Fix #2137 Socket.getifaddrs returns incorrect interface list...

Socket.getifaddrs creates a single packet interface for each IP interface.
Ifaddr and Addrinfo methods behave more like MRI 2.2.0.
Added tests for Ifaddr and Addrinfo.
Need constant AF_PACKET (17) added to .h files - was unable to figure out where to change FFI platform specific files to affect build.
Need to generate packet interface for interfaces with no IP address (platform dependent?).