add mutex
add defer to guard against unexpected panics
Merge pull request #101 from Mistobaan/master

add mutex
use switch.(type)
use switch.(type)
nip comment
use switch.(type)
use switch.(type)
Merge pull request #102 from Mistobaan/master

use switch.(type) instead
fix(server): un-nest arg checking

simplify the nesting in AddPeer
Merge pull request #103 from philips/un-nest-add-peer-logic

fix(server): un-nest arg checking
chore(README): add the travis badge lower

the travis badge was located above the title which looked a bit weird,
move it down.
chore(README): add an introduction section to the Overview

Add an introduction to the overview and put a link at the bottom.
feat(README): reorganize assuming someone knows raft

People who find this repo probably already know a bit about raft. So,
lets tell them about the current state of the project, the features that
are implemented and the example projects first.
Merge pull request #104 from philips/cleanup-README

Cleanup readme
Use github.com/coreos/go-raft import path

Rebase this patch on top of the upstream branch for keeping the coreos
go-raft paths. This is needed for the recently added protobuf
sub-package.

    git pull --rebase origin upstream