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
chore(name_url_map): rename version to raftVersion

make it more clear that we are referring to the raftVersion.
Merge pull request #130 from philips/add-version-to-join2

add versioning to cluster join