general cleanup: properly emit and handle nih errors

If a nih function we called can raise a NihError on error, then
we must harvest it.

Functions which are not in a dbus message context (*_main) must
not call nih_dbus_raise*.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>