Fix directory browsing in dashboard
Merge pull request #568 from pjjw/fix-dash

Fix directory browsing in dashboard
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