Make node more resilient agains peers with local ips and recognize timeouts

* Refuse connections from peers with private ips.
* Give a warning in the log when connecting to a public ip with a private ip.
* If a peers socket is not reachable, remove that peer from the peers list.
* Because ws.js maintains its own peer list, the removed peer will still show up on index.html.