sddm-helper: exit with code 0 otherwise it looks like an internal error

When sddm-helper exits with a code other than 0, SDDM::Auth emits the
finished(false) signal which is interpreted as an internal error condition
by the daemon.

However with authentication errors we don't need to exit with an
error code, we just send an error through the socket. It will be
interpreted correctly by the daemon which will display an error in the
greeter.

Issue: #221
Don't restart greeter and display server if sddm-helper exited successfully

sddm-helper now finishes with exit code 0 even when an authentication failure
happend because it's a managed situation.

When an authentication error is raised we should really do something when
the error() signal is emitted.

Invoke stop() only when an internal error happens to avoid restarting the
greeter and display server for authentication errors, which is annoying
to say the least.

Issue: #221
Handle authentication errors from PAM conversation

We receive the error signal with an ERROR_AUTHENTICATION when the
conversation failes before the sddm-helper even exited.

Emit loginFailed() for authentication errors in order to show the
message from the greeter.

Issue: #221