Allow multiple EmberFire.Objects to observe a single ref and more robust EmberFire.Object.set.

* Multiple **EmberFire.Object**s can be created and destroyed using a single *ref* while maintaining it's callback integrity.

* **EmberFire.Object** now triggers 'added', 'changed', 'removed' and 'value' on itself for the corresponding **Firebase** events.

* **EmberFire.Object**_.set_ acts as a proxy for **Firebase**_.set_. Hence, changes are not seen locally until the server responds with the appropriate event.