Add Basic OpenID Connect support including UserInfo endpoint

I had it like that earlier. I think I changed it because there were to many arguments, and to provide some room for expansion in the future, so if the fields change we don't have to go and change all the handlers method signatures. Does that makes sense?