When during parsing we encountered a duplicate ObjCProtocolDecl, we
were always emitting an error. With this change we accept
- when a previous ObjCProtocolDecl is in a hidden [sub]module;
- parsed ObjCProtocolDecl is the same as the previous one.
And in case of mismatches we provide more detailed error messages.