Add additional @NonNull annotations.

- Annotate methods that override methods from the superclass, and the
  superclass implementation is annotated @NonNull.

- Annotate some method parameters known to be non-null.
Use equals() instead of == when comparing songs.

Fixes bug where the song was always considered to be different.
Add missing @Override annotations.