Raise an exception when negating an empty expression 

This disallows a search for something like `!()` An exception in this case is better than generating wrong SQL.

@abenari @jdiepenmaat can you check?