fix small bug in remove method

hi ya'll,

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 added a simple  check for `idx !== -1` before calling `splice`(and a test)