Login via OpenID

Now this allow user to login via multiple OpenID accounts, I'll implement the web part after this and see if it will confuse the Interface part or I can fix it later if I find using just one account is more suitable. Any idea ? :)
`consumer_secret` is used to sign and verify the requests.  If it changes between every request, then verification can't succeed because what was used to sign the outgoing assertion request won't be what it used to verify the return request.

You can have it change based on the `time()` if you provide a coderef, but it still needs to be deterministic and stable.  That is, `$consumer_secret->(1403837611)` needs to always return the same thing (or at least the same thing for the same client trying to login) so that it's stable between the multiple requests in a login flow.

https://metacpan.org/pod/Net::OpenID::Consumer#csr-consumer_secret-scalar has more info.