Add id_token to #extra

While using Amazon Secure Token Service's [federated role granting](http://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html), I noticed that `id_token` is not directly exposed in the omniauth hash.  This PR adds it to `#extra`, so it can be grabbed and passed along to AWS.

@zquestz I also DRYed up the spec for #extra along the way, based on the [OAuth2 AccessToken spec](https://github.com/intridea/oauth2/blob/master/spec/oauth2/access_token_spec.rb).  Does it look okay to you? :)