Turn on validation of nullability annotations for libcore.

This new target enforces that there are no broken annotations (e.g. on
primitive types) and that the missing annotations match the checked-in
warnings file.

This means that anyone checking in some new API surface in a class
which is otherwise annotated must either annotate it, or update the
checked-in warnings file. The latter option is as simple as making the
update target. (The error message contains these instructions.)

Bug: 73448108
Test: `make core-current-stubs-nullability-validation`
Test: `make core-current-stubs-nullability-validation-check-nullability-warnings`
Test: Change something, then `make core-current-stubs-nullability-validation-update-nullability-warnings`
Change-Id: I7ce044631ea144c83bd7ddefb9580bcb08b32a8b
2 files changed