Simplify the event queue and move it to the store
Use event queue in the store instead of each callback being in Ember.run
Try and avoid triggering property changes if nothing has changed

Especially when we've set snapshot from `value` and then start listening
for changes which then triggers all the `child_added` events with the same data
Set _settingFromFirebase on the PromiseModel when it's resolved
child_changed on indexed collection replaces content (for polymorphic relationships)