This patch removes the enum Sema::AvailabilityDiagnostic, which is redundant with clang::AvailabilityResult, and pulls out a function, ShouldDiagnoseAvailabiltyOfDecl from DiagnoseAvailabiltyOfDecl. This is so we can call ShouldDiagnoseAvailabilityOfDecl when emitting -Wunguarded-availabilty, which is done after Sema of a function.
This patch was originally part of https://reviews.llvm.org/D23003, but it was suggested that I separate it out.