Add Ember.ObjectProxyMixin.

Moves most functionality of Ember.ObjectProxy into a mixin that use used for `Ember.ObjectProxy`, but can also be used on its own (for mixin into custom objects).