Nodes propagate datastore changes via raft.

Summary:
Still need to look at unit tests to see where coverage can be improved.

Example usage:

$ go get && cockroach
$ go get && cockroach -addr=localhost:8081 -name=raft2 -raft_data_path="./node.2" -raft_leader=localhost:8080

$ curl -X POST http://localhost:8080/db/my_key -d 'hello'
$ curl http://localhost:8081/db/my_key

Test Plan: manual. unit tests.

Reviewers: spencerkimball, rsesek

Reviewed By: rsesek

Subscribers: rsesek, team

Differential Revision: http://phabricator.andybons.com/D4