[WIP] Configuration Trees

(See https://trello.com/c/wpI2gX5I/13-configuration-trees.)
[You don't have to reply to these. See my main comment.]
Perhaps these should have a more clear error message if the target element is of a different type or doesn't exist at all. Currently in either case it'll give a default Java exception (`ClassCastException` or `NullPointerException`), which isn't particularly helpful to the users of the method.