Kick off the first connection attempt to each peer using ConnectionMaker instead of calling CreateConnection directly.
Track which connections we are currently attempting a connect on, so we don’t do multiple attempts at the same time to the same endpoint
Merge branch '23_retry_peers' of https://github.com/bboreham/weave into 23_retry_peers
Don't start a new connection attempt until all in-flight attempts for this peer have finished

Also cleaned up the naming slightly
Removed ConnectionMaker.activeConnections which is never used
Remove entries from the failedConnection list when they succeed.
Avoids unsightly error messages where both ends make the same
connection and we then have to drop one of them.
Continue after we establish that there is nothing left to do for failedCOnnection
Merge remote-tracking branch 'upstream/master' into 23_retry_peers
Change ConnectionMaker from being focused on PeerName to being focused on address
Change from stating which peer we expect to be on the end of a connection to accepting any known peer
Remove all references to PeerName in ConnectionMaker
Keep track of which connections have been established
Merge branch 'master' into 23_retry_peers
Attempt to connect immediately when given a new connection
Merge branch '23_retry_peers' of https://github.com/bboreham/weave into 23_retry_peers
Reformatted with 'go fmt'
Add back blank line that got spuriously deleted
State of connection is now three-way choice rather than two booleans
Move call to tell ConnectionMaker that connection is established onto the queryLoop goroutine to avoid races with shutdown events
Merge branch 'master' into 23_retry_peers