tests: Don't generate binary output from checks.

The tests will end up logging the check output, and spewing random
binary all over a terminal never results in anything good.
WaitForLeader: Also wait for a non-zero index.

On my laptop, I'm currently seeing a huge number of intermittent test
failures all related to WaitForLeader returning after the test node has
become a leader, but before it has actually finished starting up, in
particular, performing the serf/Raft reconciliation.

Waiting for the index to become nonzero makes the tests pass reliably,
by also blocking until the new leader has started committing state.
Merge pull request #175 from nelhage/fix-tests

Fix some issues in tests.
Remove `WaitForResult` from two failing tests
Remove TODO comments
Revert "Remove `WaitForResult` from two failing tests"

This reverts commit f0842409cde194ce2102ff2baf3de821cb6ac9d5.
Fix tests on Go 1.3 and greater

Go 1.3 and greater require ServerName or InsecureSkipVerify to be set.

https://codereview.appspot.com/67010043/
Wait for joining member in `TestClient_JoinLAN`
Increase wait time after `agent.StartSync()`
Add `/v1/agent/self` and return local agent config