add ContentProvider for searching by keyId and email, similar to APG's #1442

We can't actually make our ContentProvider work for apps that expect to use
APG's ContentProvider because we can't claim APG's permission for this. So
instead, this is just a similar, tho expanded, API.
include Apache Commons IO for easy file operations #1455
add craziness to allow file associations for .gpg .pgp .asc and .sig #1455

Thanks Dominik Schnuermann for the example!
added a skeleton "create key" UI that automatically gets name and email #1460

The context menus should be handled by Fragments, that's not sorted out
yet.  Currently the menus pop up, but don't do anything.  Also, this is not
yet wired up to actually create a key.
gnupg-for-java: add simple method for generating a new PGP key
run key generation in an AsyncTask with a ProgressDialog

It currently grabs the Name, Email, Comment, Key size/lenght, and expire
date from the CreateKeyActivity fields.  CreateKeyActivity needs to have
subkey handling, something like APG/OpenPGP Keychain but we sensible
defaults.
wire up keysize and keyExpire context menus in "create key" #1460

You can select the size and expiration time of the key to be generated
using long-press context menus.
remove hard-coded path to libpinentry, its JNI so it should be found easily
ui for the first run screens #1478
plumbing to show the first run wizard #1478
only run the async install task if needed

This lets us skip straight to initializing the view and gnupg context.
launch the fist run wizard when appropriate #1478

this is guaranteed to run after the assets have been installed and
the gnupg context initialized
store the contact integration preference #1438
check the contacts integratation box by default #1438 #1478

this offers a better user experience, and is easily removed so
let's encourage users to use it.

full paranoid users are more apt to read and carefully choose settings
than everyone else.
Revert "remove hard-coded path to libpinentry, its JNI so it should be found easily"

This reverts commit 70774a84ea229dcd37e9221abdaac9aebd1ee736.
implement key importing from a file in gnupg-for-java
file import activity handles basic import case #1478

the basic case is when it is started with no arguments, so
we assume the user wants to implement any arbitrary file.
send a message when the user clicks "Cancel" in the dialog
when finished with firstrun setup, start the MainActivity #1478
don't show the "OK/Cancel" buttons in MainActivity