Implements the four missing protocol methods on DevcontainerHandler
required by Epic #825 (ResourceHandler Protocol Completion):
- delete(): uses 'devcontainer exec rm -rf' to delete files/dirs
inside the container; returns DeleteResult(success=False) for
missing/stopped containers rather than raising.
- list_children(): uses 'devcontainer exec ls -1' to enumerate
workspace entries; returns an empty list on container failure.
- diff(): compares content hashes between the devcontainer workspace
and another filesystem location; uses EMPTY_CONTENT_HASH sentinel
to treat both-absent as no-change.
- create_sandbox(): delegates to BaseResourceHandler.create_sandbox
with lazy activation (same DETECTED/STOPPED/FAILED guard as
resolve()) so the container is running before sandbox creation.
All methods raise ValueError for resources with no location.
Adds 18 Behave BDD scenarios in
features/devcontainer_handler_protocol_methods.feature covering
success paths, failure/stopped-container paths, empty-path edge
cases, and ValueError guards for each method.
ISSUES CLOSED: #1242