Improve error output.
Use the correct fully-qualified name when generating a FieldDescriptorProto.

This diverges from protoc's parser (so parser_test.go needed changing),
but matches protoc's ultimate output, which is more useful since
that's what protoc-gen-go (and other plugins) expect to consume.
Add a  make target for comparing with protoc.
Add test for  being optional in proto3.
Ignore more test output files.