android: handle internal and external pinentry processes correctly
android: enforce owner permissions on the socket
android: use SO_PEERCRED to authenticate the connected client

In all cases we only want the actual gnupg-for-android application
to connect to our pinentry socket. If this is an internal pinentry,
the uid of gnupg-for-android is our uid. If it is an external pinentry,
we can determine the uid of gnupg app with a high level of confidence
by checking the owner of the "/data/data/info.guardianproject.gpg".