server: add unit tests

Make test coverage >= 90%
Merge pull request #1052 from unihorn/121

server: add unit tests
raft: remove unused return
Merge pull request #1084 from unihorn/126

raft: remove unused return
raft: remove unused raftpb.LastIndex
etcdhttp: check method for every endpoint, add tests
Merge pull request #1069 from jonboulle/methods

etcdhttp: check method for every endpoint, add tests
Merge pull request #1085 from unihorn/127

raft: remove unused raftpb.LastIndex
etcdserver: introduce Server interface

This changes etcdserver.Server to an interface, with the former Server
(now "EtcdServer") becoming the canonical/production implementation.
This will facilitate better testing of the http server et al with mock
implementations of the interface.
It also more clearly defines the boundary for users of the Server.
Merge pull request #1061 from jonboulle/server_interface

etcdserver: introduce Server interface
etcdserver/etcdhttp: switch to using http.ServeMux
Merge pull request #1071 from jonboulle/serve_mux

etcdserver/etcdhttp: switch to using http.ServeMux
etcdserver/etcdhttp: add test coverage for serveRaft
etcdserver: change raft endpoint to send StatusNoContent
Merge pull request #1086 from jonboulle/serve_raft_test

etcdserver/etcdhttp: add test for serveRaft
etcdserver/etcdhttp: add tests for serveKeys
etcdserver/etcdhttp: fix comment, simplify resServer
etcdserver/etcdhttp: use empty node for test
Merge pull request #1087 from jonboulle/tests

etcdserver/etcdhttp: add tests for serveKeys
etcdserver/etcdhttp: add simple test for peers send