Equals/Compare for more classes, null checks

Caught some potential NPEs in the Equals methods.
Coming soon: implement Equals/Compare for Setlist class, null checks in
all compare methods (and double check equals and hashcode methods), unit
tests.