event: Use `assert` to verify that all libuv handles were closed.

Now that travis can will fail on aborts, it is safe to use assert to verify that
the event loop has been fully released.
test: Add valgrind suppression for libuv memory leak

A memory leak happens in uv_spawn when stdio is set to UV_IGNORE and the child
process fails to start. This only happens when libuv is compiled with gcc and
optimizations enabled(the default).

Compiling with '-O0' removes the leak, but either way all that can be done right
now ignore the leak in valgrind suppression file.