Adapt config::child_or_empty to return a reference instead of a copy.

This might make no difference when the compiler performs copy elision.
In other cases, this should be more efficient, at least when the
child exists, particularly if a large child exists.