Add basic public key add/delete

This adds a very basic functionality for users to add/delete public
keys. It provides pubkey verification so we don't allow adding keys that
aren't actually valid keys.

You are allowed to add a public key for your account, and if you're a
user_admin, you can add/delete them on any account. Anybody can view
public keys.
Do you just mean to remove it, then? That way the default time is set to UTC time, and then since we never update, we never risk setting it wrong?

FWIW, the confusion of the TIMESTAMP columns is why I never use them. I use an unsigned integer and use UNIX_TIMESTAMP in MySQL, which makes sure you never have this issue. Of course, you lose millisecond granularity, but that seems OK.