Activer Record:  Change behaviour with empty array in where clause

Currently the SQL generated when is passed an array empty isn't make sense 

For example:
```ruby
User.where(token: []) => SELECT * from users WHERE token IN (NULL)
```
Instead generate a wrong SQL statement this patch Raise an ActiveRecord::StatementInvalid