Add support for multi-conditional exists statements

This makes it possible to generate exists statements which match multiple properties across tables. This is necessary to support multiple primary keys on models in node-orm2.

Changes are implemented in a backwards compatible manner, however upon completion of my updates to node-orm2 this will be moot anyway.

This change allows statements like the following to be generated:

```sql
SELECT * FROM `people` `t1` WHERE EXISTS (SELECT * FROM `parents` WHERE `name` = `t1`.`name` AND `surname` = `t1`.`surname` AND `alive` = 1)
```

Currently just pending this merge to push the final changes for node-orm2 that I've been working on.