gsm-util: Use g_unsetenv() rather than g_setenv(variable, NULL)

This way we don't emit a critical with newer glibs.

See https://bugzilla.gnome.org/show_bug.cgi?id=704593

https://bugzilla.gnome.org/show_bug.cgi?id=710582
gsm-manager: Don't abort when all clients exit

If all of our clients exit, remove_clients_for_connection()
calls end_phase() which in turn invokes gsm_manager_quit() that
checks the logout type.

But at this point we only have _LOGOUT_NONE, so we end up aborting.
It's fine to just call _quit() in this case, and this avoids us
dumping core.

This was happening to me when session startup failed for other
reasons.

https://bugzilla.gnome.org/show_bug.cgi?id=710480