Made _showLink work with Lists of Externals

This took a surprising amount of work to get right, and needed a bunch
of fixes to older, grungier code.

Introduced Optional.Empty, as a way to quickly get an empty but properly
typed Optional QValue.

Introduced QValue.make(), to build a QValue from a list of raw RTs.

Enhanced Property.apply to use that, so you can pass any number of RTs
to create a List Property.

Fixed QLContext.collect(), to *try* to preserve the incoming Collection
if possible.  This is still a smell, though: I need some general
principles.