NettyTransport: bug fixes.

- Add a logic for retrying client-side handshake since it's possible
  for the client to lose the tie breaker and get disconnected before
  receiving the handshake from the server the broke the tie.
- Add a few asserts. These are temporary asserts for sanity check.
- Check the result of putIfAbsent() in the send method. Otherwise you
  might lose the first outgoing message.
NettyTransport: Add a test case for broadcasting.