Don't setup testing server in before

Unnecessary
Swallow stream errors

Since they're most likely to be econnrefused or epipe
which will be (attempted) to be corrected with the next
reconnect
Randomly generate packet ids
Ignore acks with message ids we don't know
Reshuffle client constructor
Include existence check in _setupPingTimer