Table.and() operator.

I finally figured out what I was driving at with my 'pending queue' idea.
It required throwing out what I did before, since what I did before
didn't handle multisets properly anyhow.

The trick is to have the pending queue store *the deltas*
between the sources and the sink, and that we can keep them
in sync without rescanning all the sources.
This is more expensive than I was initially envisioning,
but I don't see any way around it, and anyway the deltas
 plus the cache should by definition add up to only one extra copy of
 all the sources, which is on the same order as what map() and where() already do.

I've started some tests, but it needs many, many more.