reflect/protodesc: don't panic on nil Resolver
reflect/protodesc: don't panic on nil Resolver

The change to make protodesc.NewFile take an interface rather than a
concrete type means that NewFile(f, nil) now causes a panic. (A nil
*protoregistry.Files is valid.)

Fix this panic by using a default, empty registry when NewFile's second
parameter is nil.

Change-Id: I70a1f0759e7ea5b57fba5b6123ee85188f4d560c
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/182979
Reviewed-by: Joe Tsai <7277d7402195d5c2006c89f45718cf82bb3e527f@gmail.com>

protocolbuffers/protobuf-go,protocolbuffers/protobuf-go