Some small changes along the way to mongo joins.

Wanted to push some things before I ended up with merge conflicts.

The only non-trivial change is “Request collection names.”
I think so – the partial result might not be an issue if it never gets returned to the user, so we can deal with that either when there’s a problem, or when we add a `Target` collection type.