Uses the console for debugging of observers since SC.Logger is not available for the SC.Observable mixin (SC.Logger extends SC.Object, which mixes in SC.Observable).
Removes double clone of observable members array. The `getMembers` function already does a slice of the array, so SC.clone (which just does another slice of the array) is unnecessary.
Cleans per jshint.
Prevents bindings that are disconnected at the moment of updating from continuing, which would throw an exception because the binding would try to resolve both sides of the connection and become connected to the window (which doesn’t support the KVC methods the binding uses).

One scenario that this has been seen in is an observer that destroys an old binding and creates a new binding to a *store query based computed property*.  As the binding is about to update, it first has to get the value of the query based computed property from the target, which results in the store flushing and indicating certain records did change which in turn triggers the original observer function where the binding is replaced. In the very next step, the old binding, which is now disconnected, tries to syncronize its value, which will fail.