Calling .attr on an array shouldn't cause it to merge with existing arrays

Before this change, the following weird case would occur when calling .attr with an array on an existing property.

```javascript
var state = new can.Observe({
  arr: ["a", "b"]
});
state.attr({
  arr: ["c"]
});
// state => {arr: ["c", "b"]}
```

It would merge items from the second array into the first, but not remove the remaining items.  After this change:

```javascript
// state => {arr: ["c"]}
```