travis: Force travis build to fail when core files are dumped
travis: Test `nvim --version` in gcc build

The --version flag drives Nvim to take a different code path, which is worth
testing. Now we do it in the "gcc" ci target(It will only fail if the exit code
is different than 0)
event: Do an early return from event_teardown when not initialized
channel: Move mch_exit(0) call to a non-deferred event handler

Since `mch_exit` will re-enter event_poll, it is necessary to call it outside
libuv event loop.
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.