Add ability to delete a user public key

Adds user_key_delete function to DB API, along with full coverage
unit tests.

Also adds a custom SQLAlchemy type for Fingerprint which does automatic
validation of MD5 or SHA1 fingerprints and converts between slimmer
non-dashed hexstring in the database and easy-to-read dashed hexstring
when coming out of the DB.