QueryBuilder: allow IN QSet, multi-row insert and LEFT OUTER JOIN
Some extra features to allow optimizing some of queries, especially the multi-insert and LEFT OUTER JOIN can help fold multiple queries into one, so that we don't need a transaction.
Details in commit messages.