test(store/watch): add test case for slow event consumers
fix(store/watch): fix the slow consumer bug
chore(tests/multi_node_kill_one): check function-call result

To stop test in time if error occurs
Merge pull request #573 from cenkalti/stream-bug

Store: Fix slow consumer bug
feat(tests/util): wait until server is up when creating cluster

Wait until server is up instead of for some time
Merge pull request #574 from unihorn/6

Fix the bug that TestSimpleMultiNodeTls may error sometimes
fix(tests/functional): some squashing mistakes in PR merge

accidental squash mistake in the last PR that was merged caused a
function to be renamed but not it's caller.
fix(tests/discovery): use host as -peers parameter instead of url

Or it cannot test the functionality correctly.
Moreover, add TestDiscoveryNoWithBackupPeers as the test for it.
feat(discovery): adjust boot order to find peers

The boot order for peers is -discovery, -peers, log data, forming
new cluster itself.

Special rules:
1. If discovery succeeds, it would find peers specified by discover URL
only.
2. Etcd would fail when meeting bad -discovery, no -peers and log data.

Add TestDiscoveryDownNoBackupPeersWithDataDir as the test.
docs: boot order to find peers
Merge pull request #569 from unihorn/5

Ordering and functionality of `-discovery` `-peers` and data dir to find peers
fix(store): make NodeExtern.Value a *string

Before this change if the value of a Node was "" it would get dropped from the json
encoding and the Node.Value field would be missing. Fix this problem by making
NodeExtern.Value a *string so that an empty string will be encoded but a nil value
will drop the field.
Merge pull request #524 from yifan-gu/remove_omitempty_on_value

remove omitempty on value
chore: rename 'heartbeat timeout' to 'heartbeat interval'

Heartbeat timeout means the period length that indicates heartbeat is
out of service, which is different from heartbeat interval.

So we should use '-peer-heartbeat-interval' instead of
'-peer-heartbeat-timeout' in etcd.

'-peer-heartbeat-timeout' is deprecated but still could be used.
Merge pull request #577 from unihorn/6

chore: rename 'heartbeat timeout' to 'heartbeat interval'
Add links to haskell bindings and scrz project
feat(Documentation): add a section on consistent reads

We have waited too long to document `consistent=true`. Document it!
Merge pull request #585 from philips/document-consistent

feat(Documentation): add a section on consistent reads
Merge pull request #586 from wereHamster/patch-1

docs: Add links to haskell bindings and scrz project
Trivial formatting correction