Adding a new utility function, distinct-except.
Bugfix for #2.

This both corrects our handling of multiple ? parameters, and de-duplicates
the named parameters, such that a query with args:

[value1 value2 ? value2 ?]

...will only ask for:

[value1 value2 ? ?]

...and the two ?s will be unique.