OpenId Connect & State parameter support

Please review my changes. First brings optional support for state parameter which is used to protect websites against cross site request forgery attacks. I modified Google and Facebook providers to utilize this feature if developer sets this property. The OpenId connect is an extension that parses id_token parameter if available and stores its content in AccessToken, so developer can then extract it with some JWS library and reuse its information. I incorporated both features into Google demo.