Make sure to prep dbus for threading before we start.
And use _exit() any time we are exiting from a forked child. This is
to avoid calling the at_exit() functions. Once a thread in the main
program has called nih_error_init(), this registers an at_exit fn which
asserts that the nih_context not be null - but after we fork, if libnih
is built with --enable-threading, then the nih_context is in fact null.
The only way to clear the atexit fns would be to exec(). So call
_exit() instead of exit(), because _exit() avoids calling the atexit
fns.