avoid flakiness in valgrind mode

The travis-ci environment seems prone to failing the valgrind
tests because the auto-unwatch-on-deletion stuff seems unreliable
in the openvz VM in use there.

Add a tear-down handler in our tests that auto-unwatches watches
established using the new watch() method.  This explicitly tells
watchman to release its resources; the hope is that this happens
soon enough that the service can fully shut down its threads by
the time that we halt it and that valgrind runs clean.