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.
In the future we should favor `.js` instead of `.json` for files like this so we can have comments. JSON is great as an interchange format, but `.js` is better for storing configs for JS programs.