Merge pull request #127 from xiangli-cmu/master

clean error handling
bump(github.com/coreos/go-raft): bb7f7ec92e4cb6d98241cea83f55d0e85e624189
bump(github.com/coreos/go-etcd): 460022c1238ee0913013936e3486f41a3c7c1d7a
bump(github.com/ccding/go-logging): 4f3650d51969cc425c1940efa31fcb7c0bba86b3
bump(github.com/ccding/go-config-reader): 8b6c2b50197f20da3b1c5944c274c173634dc056
bump(code.google.com/p/go.net): bc411e2ac33f
bump(code.google.com/p/goprotobuf): 1141ccae4b85
fix raft api
Merge pull request #128 from xiangli-cmu/bump

Bump
feat(command): add version to join command

Add a version to the join command. Add a versioning document to discuss
some of the design decisions.
feat(raft_server): do not allow mixed versions

fail to join if there is an internal version mismatch.
fix(command): change Version to RaftVersion

clear up confusion on what this field is used for: it is for the
internal raft protocol version only.
fix(raft_server): add comment on version field

explain what the version field is for and why it is set to
releaseVersion
fix(version): add raftVersion to the version file
fix(raft_server): rename getLeaderVersion to getVersion
feat(README): add some new projects
feat(README): add etcd-vim
Merge pull request #131 from philips/add-new-projects

feat(README): add some new projects
feat(README): add etcdenv project
Merge pull request #132 from philips/add-new-projects2

feat(README): add etcdenv project