GitCheckoutHandler.discover_children() and FsDirectoryHandler.discover_children()
now call discover_devcontainers() after scanning for fs-directory children. Any
.devcontainer/devcontainer.json or root-level .devcontainer.json found at the
resource location is registered as a devcontainer-instance child resource with
provisioning_state: discovered. Named configurations are also discovered and carry
the configuration name in the config_name property.
This wires the previously-isolated discover_devcontainers() function into the
production code path, enabling the spec's zero-configuration devcontainer experience.
ISSUES CLOSED: #4740