Split the notifications into DidChange and RefreshNeeded

An alternative to #808, as I think DidChange might actually be the more useful one (for updating non-persisted state based on persisted data). I'm not sure I'm a fan of the name RLMRealmWillChangeNotification, and the semantics are kind of goofy (but a bit less goofy than the current semantics).

Changelog and tests haven't been updated for this yet.

@alazier @jpsim 
The problem is we don't verify the second notification ever fires. We should also add a comment that the first notification is removed before the second is registered.