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
etcdhttp: check method for every endpoint, add tests
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.
etcdserver: add SYNC request