fix small bug in remove method

The `ObservableArray.remove` method removes the last item in the array (at least on Chrome 36) when it the passed in item is not in the array. The call to `indexOf` returns `-1` which splices from the back of the array. 

My assumption is that that behavior is not desirable. I simple added a check for `idx !== -1` before calling `splice`