ZSQLCatalog: fix buildQuery with explicit search key and dict value

This fixes things like:
  portal_catalog(source_reference={'query':'foo OR bar', 'key':'KeywordKey'})
or:
  portal_catalog(query=AutoQuery(source_reference='foo OR bar', key='KeywordKey'))

So we get:
  (`...`.`reference` LIKE '%foo%' OR `...`.`reference` LIKE '%bar%')

instead of:
  `...`.`reference` IN ('{\'query\': \'foo\', \'key\': \'KeywordKey\'}',
                        '{\'query\': \'bar\', \'key\': \'KeywordKey\'}')

Also, remove default values as it makes it easy for caller to leave arguments
out by mistake.
Also, use positional arguments as they are faster than named arguments.

See merge request !1698
8 jobs for for_testrunner_1 in 0 seconds
Status Job ID Name Coverage
  External
failed ERP5.CodingStyleTest-Master

02:21:13

failed ERP5.UnitTest-Master

03:33:11

failed ERP5.UnitTest-Master.Medusa

03:40:27

passed SlapOS.Eggs.UnitTest-Master.Python2

00:13:26

passed SlapOS.Eggs.UnitTest-Master.Python3

00:15:09

failed ERP5.CodingStyleTest-Master

01:21:49

passed SlapOS.Eggs.UnitTest-Master.Python2

00:14:34

passed SlapOS.Eggs.UnitTest-Master.Python3

00:14:31