injectSelfDial
Inject a self-dial: make host resolve a connection whose remote identity is its OWN Seam.selfId — the #1466 class. A symmetric advertise+browse fabric is delivered its own advertisement (real Bonjour/mDNS/NWBrowser returns a device's own service to its own browser), dials it, and the resulting connection resolves to selfId. The seam's self-connection guard MUST drop it. Return true if the harness performed the injection; false (the default) means "this harness cannot inject a self-dial", and selfDialIsRejected early-returns without asserting.
This is a harness capability, not a fabric SeamCapabilities flag — mirroring injectMidSessionDeath. Only a harness that can make a live seam see a connection to its own selfId (e.g. the FakeNwRadio self-endpoint delivery added for #1485) can prove it; a relay/2-peer harness with no self-discovery cannot self-dial at all and leaves this false. It is deliberately opt-in rather than a required abstract: a required hook would force every fabric subclass to implement a self-dial many structurally cannot perform. Accountability is preserved exactly as injectMidSessionDeath's is — an un-overriding harness is tracked, never silently green, via selfDialGap and selfDialObligationIsTrackedWhenUnproven.
A harness that overrides this to true MUST also override selfDialGap to return null.