JAVA-326: add support for conditional DELETEs in QueryBuilder

Notes:

* the DSL is not 100% foolproof, for example you can specify both `ifExists` and `onlyIf` on a query, which leads to malformed CQL.
* I duplicated `Update.Conditions`. Factoring the code would require a new common supertype for `Update` and `Delete`, which is not worth it IMO.