Add support for google-authenticator time-based OTP (TOTP)

This PR adds support for google-authenticator style OTPs.
It requires a patched version of sshpass (https://github.com/bauruine/sshpass) to work. I'm not sure if there is a demand for this and the requirement for a patched version of an external programm is another downside.

It's not yet completed and there are still some parts missing (e.g. documentation) but i would like to get some feedback before i spend too much time on it.

Is there a chance that this feature gets merged?