Implemented CONNECTION_TIMEOUT

Put a 3 second timeout on each connection. On my testing, almost all (>99%) successful connections happen within 3 seconds.
This is a huge improvement in terms of finding the fastest peers - since before the swarm got stuck on 100 connections, only a small % of them actually downloading, most of them hung up without any response (connection or handshake) for the 25 second handshake timeout period.