zookeeper: exit program on unrecoverable error

This adds panic() where sheep receives unrecoverable error from
ZooKeeper.  It's not good to abort the program on error, but much
better than destroying membership information on each node.  It is
future work to remove those panic().

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests/functional: add support for specifying valgrind options

This enables us to run valgrind with user defined options.

For example, to do the valgrind test on the small memory (less than 1
GB) machine, run the following command:

 # VALGRIND_OPTIONS="--freelist-vol=10000000 --freelist-big-blocks=0" ./check -valgrind

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests: allow calling _wait_for_sheep() after _kill_sheep()

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests: check process in _wait_for_sheep_stop()

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>