Add Nullable annotations

This adds a dependency that adds the javax.annotation.Nullable annotation.
It also adds the Nullable annotation where applicable.

This pull request should make the API match the Nullable annotation requirement of the contribution guidelines.