[WIP] Configuration Trees

(See https://trello.com/c/wpI2gX5I/13-configuration-trees.)
[You don't have to reply to these. See my main comment.]
The Javadoc for `getSubtree` will need to make it clear that it can never return null. The possibility of `nextBranch` being null can't happen, but is still worrying.