Add support for querying multiple UDF collections at once.

The client must wrap the JSON objects for UDFCs in an ["OR", ...]
combinator, as we can't query for matches on multiple UDFC types for the
same row.

One note, in order to add the tree joins to the query only when necessary, the
"udf:plot" and "udf:tree" SQL are both empty, and depend on "udf".
This introduces some extra whitespace characters in the query, but doesn't hurt
anything.
it seems more natural to have just the `LEFT OUTER JOIN ...` portion in the `sql` key, but not the `ON` portion, instead of `""`. It would line up better with the other definitions. Is this possible?