jwt: add JWT authenticated transport and client.
jwt: add JWT authenticated transport and client.

Self-refreshing OAuth transport and client needed by the
google-api-go-client services (i.e. to provide it out of
the box the same way as oauth.Transport, but for service
accounts).

LGTM=adg
R=golang-codereviews, gobot, adg
CC=golang-dev
https://codereview.appspot.com/42930045

Committer: Andrew Gerrand <395a7d33bec8475c9b83b7d440f141bcbd994aa5@golang.org>

imrickrick/goauth2,djacobow/goauth2,avisri/goauth2,lvzhihao/goauth2,stanwu/goauth2,badu/goauth2,hiteshjoshi/goauth2,skyeunknown084/goauth2,epelc/goauth2,mattga/goauth2,MrDangerous/goauth2,odeke-em/goauth2,combucha/goauth2,aquarat/goauth2,desireebisco/goauth2,treetopllc/goauth2,smagic39/goauth2,jeisenberg/goauth2,pkieltyka/goauth2,udhos/goauth2,happydpc/goauth2