Improve handling of repeated parameters

This commit allows parameters to occur multiple times in a query without
requiring the parameters to be duplicated in the corresponding clojure function.

Note: this will make the use of positional parameters, marked by `?`,
impossible. In my opinion this is no great loss - in clojure a functions
parameters always have names. But perhaps, attempts to use `?` should be
caught?