Fix connect handshake to not have limbo nodes used by applications
Merge pull request #110 from tribal-tec/master

Fix connect handshake to not have limbo nodes used by applications
Merge pull request #111 from eile/master

Make connection unit test time based, as discussed in #101
Cleanup
Fix racy connection handshake

The first fix is to send the ACK to the peer before it is added
to the list of connected nodes. This way, any command
(CMD_NODE_GET_NODE_DATA for instance) sent to this peer (this peer
can be returned via getNodes()) is executed after the
ACK, so no racy disconnect can happen anymore.

The second fix is to not connect to a peer without using the TRY_AGAIN
semantics. Before that, it was just relying on isReachable() once to make
this decision to connect, but this races with simulateneous connect
handling from the receiver thread.
Merge pull request #112 from tribal-tec/master

Fix racy connection handshake
De-race EventConnection::close to fix Travis