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>
test09: use tmpdir for mounting

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

This allows a user to change permissions on cgroup files which he
owns.  For instance lxc will use this to set g+w on the base tasks
file.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
frontend.c: use nih_error_steal so we can nih_dbus_error_raise()

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