Implement dep_query= in textual assignment and change dependency resolution semantics
dep_query= allows the specification of instruction dependencies with an arbitrary kernel query string. After parsing, a MatchExpression object is created and is kept in the depends_on frozenset of the instruction. When the kernel is created, those match expressions are resolved and the IDs of all matching instructions are instead added to the frozenset. When not using the textual assignment language, you can hand-construct the MatchExpression object and put it into the depends_on frozenset.