Fix for bug in [NSMutableArray keepIf:]

The following tes will fail when two adjacent values do not meet the condition:

    NSMutableArray *ma = [NSMutableArray arrayWithObjects:@1, @3, @10, nil];

    [ma keepIf:^BOOL(id object) {
        return [object intValue] > 5;
    }];

    if ( ![ma isEqual:@[@10]] )
           XCTFail(@"fail ...