[WIP] Configuration Trees

(See https://trello.com/c/wpI2gX5I/13-configuration-trees.)
[You don't have to reply to these. See my main comment.]
String comparison via ==. This is a definite bug in Java. `String.equals()` should be used, because == checks object identity.