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 test was moved to the notification block a few lines up. I think my reasoning was to verify that the state was actually updated when the notification block was run.