The RDL loader had no test coverage. Add tests/test_rdl_loader.py with
12 tests covering hierarchy, sw_access mapping, reset values, addresses,
array unrolling, memory nodes, hierarchical naming, and the full
dontcompare matrix.
Two fixes surfaced by the new tests:
- _walk_node had no MemNode branch, so `mem { ... }` blocks were silently
dropped. The JSON loader handles mem correctly; the two adapters had
diverged. Add the missing branch so both produce equivalent models.
- _resolve_volatile used get_property("dontcompare"), which returns False
for both "not annotated" and "explicitly false". Switch to checking
inst.properties so `dontcompare = false` on an RO field now opts it
into read-checking, mirroring the `dontcompare = true` skip direction.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>