[fix] Adding negative conditions for NULL/Array and fix integer

Hi, the negative condition is buggy and should have a different behaviour.

for example :
```
'column_name[!]' => null  
Should generate SQL : column_name IS NOT null

'column_name[!]' => [1, 2, 3, 4]
Should generate SQL : column_name NOT IN (1, 2, 3, 4)

'column_name[!]' => 2
Should generate SQL : column_name != 2
```

The fix correct this behaviours.

It is my contrib for the day. :)

++