Certificate support

Finally got to merge my certs branch. :)

A couple of comments:
* using a simple trust model for now: all private keys are trusted
* only self certs and certs by known private keys are taken into account for now. other keys are not added to the database for performance reasons.
* uid ranks are influenced by certificates: primary keys are always on top, revoked always on bottom
* certification status of user ids is shown, including revocation
* certificate expiration for user ids is NOT considered. GnuPG doesn't support this attribute, so I doubt it has any relevance in practice. if we still want this, there is a commit in there somewhere that can be reverted to re-add it...

This is yet another database change. Since we are in a heavy state of development anyways, there is no migration path, so you might need to DROP TABLE user_ids on a first start (comment it out in KeychainDatabase.java)