send all gossip to new peers only Weave sends all gossip down new connections. We do this so that new peers learn about all gossip'ed information quickly, thus enabling them to process subsequent incremental updates. In particular, for topology gossip it ensures that the remote peer learns about all other peers. This ensures that the incremental update, which is sent as a result of the new connection getting established and which may reference a number of other peers, can be processed.
send all gossip to new peers only
Weave sends all gossip down new connections. We do this so that new
peers learn about all gossip'ed information quickly, thus enabling
them to process subsequent incremental updates. In particular, for
topology gossip it ensures that the remote peer learns about all other
peers. This ensures that the incremental update, which is sent as a
result of the new connection getting established and which may
reference a number of other peers, can be processed.

So the intent really is to send all gossip to new peers. But what we
actually do is send it down every new connection. Not every new
connection is from a new peer. In fact most connections aren't. Hence
the current approach is wasteful.

To fix this we need a conservative detection of new peers, i.e. it is
preferable to have false positives. This contrasts with existing logic
in the handshake code. The criteria we use is whether our peer has a
unicast route to the other peer. That is only the case when there is a
continuos chain of symmetric, established connections. The
establishment of these connections should have triggered the sending
of all gossip to the other peer. So we don't need to send it ourself.

Fixes #454.

narry/weave,OnePaaS/weave,2opremio/weave,OnePaaS/weave,BWITS/weave,tomwilkie/weave,n054/weave,n054/weave,awanke/weave,aaam/weave,narry/weave,squaremo/weave,2opremio/weave,achanda/weave,aaam/weave,achanda/weave,cgvarela/weave,kidaa/weave,paladin74/weave,awanke/weave,squaremo/weave,narry/weave,OnePaaS/weave,paladin74/weave,BWITS/weave,ycaihua/weave,cgvarela/weave,inercia/weave,philipz/weave,narry/weave,BWITS/weave,awanke/weave,weaveworks/weave,dpw/weave,ycaihua/weave,philipz/weave,paulbellamy/weave,dpw/weave,bboreham/weave,weaveworks/weave,awh/weave,dpw/weave,n054/weave,aaam/weave,paulbellamy/weave,aaam/weave,tomwilkie/weave,bboreham/weave,ycaihua/weave,paladin74/weave,bboreham/weave,rade/weave,tomwilkie/weave,philipz/weave,beni55/weave,beni55/weave,inercia/weave,paulbellamy/weave,narry/weave,cgvarela/weave,n054/weave,inercia/weave,awh/weave,philipz/weave,squaremo/weave,BWITS/weave,paladin74/weave,aaam/weave,beni55/weave,paulbellamy/weave,kidaa/weave,rade/weave,BWITS/weave,errordeveloper/weave,OnePaaS/weave,achanda/weave,achanda/weave,2opremio/weave,kidaa/weave,awanke/weave,errordeveloper/weave,errordeveloper/weave,errordeveloper/weave,philipz/weave,weaveworks/weave,awh/weave,achanda/weave,rade/weave,rade/weave,squaremo/weave,tomwilkie/weave,ycaihua/weave,kidaa/weave,dpw/weave,2opremio/weave,awh/weave,beni55/weave,squaremo/weave,dpw/weave,n054/weave,errordeveloper/weave,2opremio/weave,cgvarela/weave,inercia/weave,awanke/weave,inercia/weave,OnePaaS/weave,kidaa/weave,bboreham/weave,beni55/weave,rade/weave,bboreham/weave,weaveworks/weave,tomwilkie/weave,cgvarela/weave,ycaihua/weave,awh/weave,paladin74/weave