[ObjC] Condense logic for diagnosing unimplemented setter/getters into help method.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201877 91177308-0d34-0410-b5e6-96231b3b80d8
[ObjC] Change default property synthesis logic to not completely skip DiagnoseUnimplementedProperties.

We're going to extend DiagnoseUnimplementedProperties shortly to look for more cases
that aren't handled by default property synthesis.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201878 91177308-0d34-0410-b5e6-96231b3b80d8
Remove 'followsSuper' argument from lookupPropertyAccessor.  Turns out I didn't need it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201879 91177308-0d34-0410-b5e6-96231b3b80d8
[ObjC] add support for properties in attribute 'objc_protocol_requires_explicit_implementation'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201880 91177308-0d34-0410-b5e6-96231b3b80d8