SchedDFS: Complete support for nested subtrees.

Maintain separate per-node and per-tree book-keeping.
Track all instructions above a DAG node including nested subtrees.
Seperately track instructions within a subtree.
Record subtree parents.
ScheduleDAG: Added isBoundaryNode to conveniently detect a common corner case.

This fixes DAG subtree analysis at the boundary.