Refactoring common null-safety checking functions.

- `getNullabilityKind` returns the nullability kind specified by the nullability annotation on the type if present, otherwise returns the default NullabilityKind::Unspecified.
- `isUnhandledOrNullable` checks that an expression is unhandled by the analysis or is known to be nullable.
- `isIncompatibleAssignment` checks that the nullability of the actual expression complies with nullability annotations on the declared type at the point of use.

PiperOrigin-RevId: 468783498
diff --git a/nullability_verification/BUILD b/nullability_verification/BUILD
index 9ff987c..3ebbdbd 100644
--- a/nullability_verification/BUILD
+++ b/nullability_verification/BUILD
@@ -48,6 +48,7 @@
     deps = [
         "@llvm-project//clang:analysis",
         "@llvm-project//clang:ast",
+        "@llvm-project//clang:basic",
         "@llvm-project//llvm:Support",
     ],
 )