Generalized lookups with Slots

Slots generalize the "name" of an environment variable by providing more
information about what we expect from that variable. For instance, we can
ascribe default values or documentation to a Slot which adjusts the behavior
of the lookup.