BREAKING CHANGE:
Method push will now handle arguments just like Array.prototype.push.
Certain existing methods will now return ObservableArray instance instead.
Callback arguments that contained an array argument themselves will now contain an ObservableArray argument.
* fix for splice index > length
In javascript you can call splice with an index > length. The result is a push.
But when you do that ObservableArray index will be wrong and thus user logic will fail.
Example:
```ts
// obsarray = [0];
obsarray.splice(2, 0, 1);
// this works, the inner array is now [0,1]
// however 'change' is called with index = 2
// when the use tries to do obsarray.getItem(eventData.index) -> crash
```
* fix to handle delete too