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.
The might rather... everything else being equal.  But the set of all possible states is open-ended.  Adopters have the chance to implement custom states -- say -- in uportal-portlets/overlay/src/main/java/, and the Apereo-provided code has to just roll with it.

We could implement (e.g. Spring-based) scaffolding to bind impl classes to registered "pretty" names, but I'm not sure it buys us much, and it's one more thing to maintain.