Fire observers for array computed changes.

When dealing with chains of arrays, it is not necessary (or correct) to fire
non-array observers when array contents change, but the array itself does not.

However, for other `ReduceComputedProperty`s, such as `Ember.computed.max`, it
is necessary to fire observers in response to upstream array changes.

Thanks @ssured for pointing this out, and for providing tests!

Fix #3331 #3354.