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 
This isn't quite testing the correct thing - the notification fires when the background thread commits, not when begintransaction is called on the main thread