Un-remove ExtraData

It was removed in 3eced323e6a648c9f968f497c4711719984477ef due to the
fact that the interface of Token.Extra of golang/oauth2 was changed.
This commit un-removes ExtraData with different interface than the
previous one due to the limitation of golang/oauth2.