Low-level AttachGraph method

Traverses a graph and provides a callback for each entry visited. See #1229

No async version yet, and no higher-level overloads.