.3y2852x: propagate Collections through Invocation better

Multiple fixes here, for different situations; the end result is that
we're getting better about retaining the knowledge that something should
be a List even if there is only one value.  Added a general way for
Functions to tell Invocation about the expected Collection.

To support this, generalized the notion of "invocation metadata", to
make it easier to add more concepts like this as we go.

Also introduced QLog.spewRet, to make it easier to debug code that just
returns.