event: Assert that all libuv handles are properly closed on exit.

Travis build will now fail when core files are dumped, so call `abort()` when
the event loop is not fully released before exiting.
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 all that can be done right now is
ignore the leak by adding a valgrind suppression.
test error