Extract out parsing proto file logic from ProtobufGen

nit: you could make this the first parameter:
set(protobuf_parse.outer_class_name).union...