ProtoFromErr converts an error into a grpc status. It differs from
google.golang.org/grpc/status in that it will return an OK code on nil, and
returns the proper codes for context cancelation and deadline exceeded.
WaitOnErrors immediately starts a new go routine for each function passed it.
It returns a WaitFunc. Any additional errors not returned are instead logged.