Add support for time based OTPs for two factor authentication.

Hopefully Google won't disable QR Code support in their Charts API any time soon...
Normally I'd complain about sending key material to a 3rd-party service. I think we might be small enough fish that I'm not too terribly worried about it though.