Fix a small bug in UserSearchController

I found this issue when testing Jordan's comm panel fixes.  If you use the
"Add filters" feature of the comm panel to select a specific user ID
number (or comma-separated list) to send to, you'll get a server error
"Unhashable type 'list'".

The subquery code (for dealing combination lists) was casting a list
(qobject.children) to a set and back.  I don't want to remove this since
I'm afraid of breaking something, so I've just split qobject.children into
a group of hashable clauses and unhashable clauses, and only deduplicated
the hashable ones.  This is somewhat verbose but should resolve the
immediate error without affecting other functionality.