tests: fix broken tests with node v0.12 branch

Currently, test/req.ip.js assumes that the connection between the client
and the server is an IPv4 connection. However, depending on the
configuration of the host where this test runs, the connection can be an
IPv4 one or an IPv6 one using an IPv4 mapped address. In the future, it
could also be a "full" IPv6 connection.

This change makes this test handle any type of address.

fixes #2342
Add test-tap npm script for TAP output

closes #2359
deps: connect@2.26.1
deps: depd@0.4.5
deps: send@0.9.2
Use crc instead of buffer-crc32 for speed
3.17.2
Merge tag '3.17.2'