REBASE DecryptActivity: always write plain data to private file
add ContentProvider to read from private files, to sent via VIEW Intents

Currently, the data is decrypted to the private 'files' directory inside of
the app.  This is better than the SDcard, but it is still writing it to the
disk, which is less than desirable.  This is a temporary step towards
having data go from encrypted to viewable without touching the disk. Full
support for Streams needs to be implemented in gnupg-for-java (#1571) before that
is possible.

This commit adds the new PrivateFilesProvider, which uses GRANT_URI perms
to grant read perms based on the selected receiver of the VIEW intent.

refs #470 refs #1571 refs #1454 closes #1455 closes #1456
once DecryptActivity receives that the viewer is done, delete the tmp files

refs #1455 refs #1456
do NOT set noHistory on Activities that might pop up PinEntryActivity

When noHistory is set on an Activity, it is immediately killed when any
other Activity pops up.  In this case, PinEntryActivity will pop up when a
password is needed.  When that happens, the noHistory Activities get
killed, which breaks the onActivityResult() handling.

Instead, these Activities should just be sure to call finish() to remove
themselves from the history.