Include interval in the provisioning URL

Otherwise the authenticator app won't generate working codes.
Provide Issuer in the provision URL
Add better error support to Base32
Better provisioning URL support

Add support for issuers and period params
Clean up tests a bit