proto: use extension field type in decoding when available
proto: use extension field type in decoding when available

If a field has an ExtensionType defined, use it in decoding.

Change-Id: I85f3da0f52a11578500cf28e4611fa4eb31f0623
Reviewed-on: https://go-review.googlesource.com/c/154581
Reviewed-by: Joe Tsai <7277d7402195d5c2006c89f45718cf82bb3e527f@gmail.com>

protocolbuffers/protobuf-go,protocolbuffers/protobuf-go