Change behaviour with empty hash in where clause

Raise ArgumentError instead of generate invalid SQL when empty hash is used in where clause value

For Example:

```ruby 
Post.where(id: {})
=> SELECT "posts".* FROM "posts" WHERE (1 = 2)
```