Google authenticator improvements

I have a bunch of otpath:// URLs from a variety of services, and many of them are a bit sloppy with the secret (skipping padding, using lowercase values, etc), which caused the GoogleAuthenticator constructor to fail. I noticed the from_b32key function did some sanitizing of the secret, but as I have full URLs I'd prefer not to have to extract the secret just to use that function. Instead I've made it so both from_b32key and the GoogleAuthenticator constructor are able to deal with these "sloppy" secrets, as well as some other minor cleanups of the code.