Add Set<NotificationState> to NotificationEntry to track things like New, Complete, and Favorited

https://issues.jasig.org/browse/NOTIFPLT-47

This changeset introduces the concept of states to Notification objects and refactors the FAVORITE feature to become a state.
Either way is fine by me.  I suspect this hashCode() impl was originally IDE-generated... I stole it from NotificationAction.