Generalize route.rkt's mapped-to values from sets. Also flip arg order of matcher-erase-path.
matcher->finite-set -> matcher-key-set
gestalt-project->finite-set -> gestalt-project-key-set
Further API tweaks, and new tests
Updates to changed API
gestalt-intersect is probably not useful as an API
Switch gestalt representations to accommodate n<m filtering.
The previous format separated out the different levels too much.
The new format pushes the level representation *under* the routing
matcher.