[WIP] Configuration Trees

(See https://trello.com/c/wpI2gX5I/13-configuration-trees.)
[You don't have to reply to these. See my main comment.]
This code actually looks ~very~ similar to the `getNode` implementation. Perhaps... they can be combined in some way? It seems like `getNode` could easily be built off of `getSubtree`.