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 
I think we still want these test conditions to make sure refresh works correctly in background threads.