su: Fix verification fails when the client isn't setuid

Don't take an uid-0 caller as a trust guarantee. Trust only values
that are delivered by a remote that's the same as ourselves (su-as-client
talking to su-as-daemon) and use PEERCRED to assert the remote UID and PID
on any other case.
This fixes credential validation when the client isn't always running with
root privileges via setuid

Change-Id: Iad8fc271d9c6aae7f6654af2ef9db638f2165af1