* 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