sender: use RoundTripper instead of Client in sender
etcdserver: add ID() function to the Server interface.
Merge pull request #1709 from xiang90/server_id

etcdserver: add ID() function to the Server interface.
raft: Only call stableTo when we have ready entries or a snapshot.

The first Ready after RestartNode (with no snapshot) will have no
unstable entries, so we don't have the correct prevLastUnstablei
when Advance is called. This would cause raftLog.unstable to move
backwards and previously-stable entries would be returned to
the application again.

This should have been caught by the "unexpected Ready" portion of
TestNodeRestart, but it went unnoticed because the Node's goroutine
takes some time to read from advancec and prepare the write to read to
readyc. Added a small (1ms) delay to all such tests to ensure that the
goroutine has time to enter its select wait.
etcdserver: add sender tests
Merge pull request #1700 from yichengq/222

etcdserver: add sender tests
Merge pull request #1711 from bdarnell/stable-restart

raft: Only call stableTo when we have ready entries or a snapshot.
Merge remote-tracking branch 'coreos/master' into log-storage-interface

* coreos/master:
  etcdserver: add sender tests
  raft: Only call stableTo when we have ready entries or a snapshot.
  etcdserver: add ID() function to the Server interface.
  sender: use RoundTripper instead of Client in sender