etcdserver: refactor sender

1. restrict the number of inflight connections to remote member
2. support stop
etcdserver: discard messages if sender reaches max serving

It is the correct thing to do to ensure that the communication is full
of out-of-date messages.

It results in that integration testing is very easy to throw MsgProp away,
and makes client wait until 5 min timeout. Sync interval and heartbeat are
increased to alleviate the traffic.
etcdserver: fix data race in Cluster struct
etcdserver: code clean on sender struct
etcdserver: add/remove sender in sendhub explicitly
etcdserver: add sendHub tests
Merge pull request #1609 from yichengq/202

etcdserver: refactor sender