attempt improve node quality for small networks. never ping nodes immediately, not even when we don't have any nodes. The previous logic would get stuck in continuously pinging every new node immediately, because the node buffer would never get into the millions (this logic was tuned for utorrent). Instead, always honor the 15 minute ping timer, and if we don't have enough nodes in the buffer, return the last 16 nodes that we heard from (no pinging). The startup will probably be no worse than now, but the steady state should be a lot more reliable
fix incorrect usage of boost::circular_buffer
include port in ping output
fix one more buffer juggling bug. and don't add the same IP multiple times in a row to the back-up buffer
adapt the node buffer size to the rate of new nodes (to scale down to small networks)
log the number of responses that fall back on backup nodes
minor typo
fix bug in get_nodes(). treat 0.0.0.0 as invalid IP
don't include the node-id in the generated transaction ID, to allow nodes to change it once they learn their external IP address
support read-only flag in DHT queries (and don't ping or remember them)
fix bug preventing the node buffer from growing. make the initial size odd, to not be divisible by 16
the probe is read-only mode