add pinentry implementation diagram
PinentryActivity, SharedDaemons service: organize imports, convert all tabs to spaces
Remove the brittle socket server for launching pinentry

Latest pinentry-android launches the activity with 'am start'
connect to the pinentry helper via a file-backed unix domain socket

this allows greater access control, and results in cleaner code.
Fetch the UID of the process requesting pinentry from the Intent
handle internal vs external pinentry processes correctly
add comment warning about tight coupling
refactor all JNI code to be understandable and handle errors better
remove some debug spam and log errors to logcat insted of stderr
remove more debug messages and printing of sensitive info
authenticate the pinentry helper's uid using SO_PEERCRED

This should always succeed, and doesn't provide any assurance we're NOT
connected to a malicious pinentry, but we check it because we can.
If it does fail, something incredibly janky is going on.
fix race condition when pinentry is closed before it's finished being created
fix external pinentrys

by using an abstract domain socket instead of a file-backed socket
this is because we can't chown nor chmod for different app uids
without root. we still authenticate using SO_PEERCRED.

woot.
resolve pinentry orientation changing issues

we're treating PinEntryActivity as a dialog that once dismissed
(either through back button, or some other event) CANNOT be reactivated.
The fact the pinentry dialog closed is propagated back to gpg-agent.

This mimicks the behavior of pinentry on the desktop, if you kill it,
click cancel, or click the X in your window manager, it dies and gpg-agent
must RELAUNCH pinentry if it wants to get the pin again.
disable debug spam from pinentry
more pinentry features

* handle canceling properly
* support informational dialogs that don't take input
* correct result returning
* display the text labels pinentry gives us
remove crufty code

this was left over from an earlier pinentry implementation attempt
remove TODO

MSG_CMSG_CLOEXEC isn't needed as we don't do any execs in this module
fix error TAG and remove unused definition
use global context variable and fetch GNUPGHOME from the NativeHelper