Deleting a client attached to a remote-node inbound could silently fail
to reach the node, so the node's next traffic snapshot resurrected the
client once the 90s delete tombstone expired.
Two paths in the single-client delete (Delete -> DelInboundClientByEmail):
- A disabled client was skipped entirely: the node-propagation and
mark-dirty block sat behind the client's enable flag (needApiDel), so a
disabled client on a node never detached and never marked the node
dirty. The bulk and multi-client delete paths already handle the node
case independently of enable state; mirror that structure here.
- Remote.DeleteUser returned nil when resolveRemoteID failed, hiding the
failure from the caller so the node was never marked dirty. Surface the
error like AddClient/UpdateUser do, so the caller marks the node dirty
and the next reconcile converges.
Add a regression test asserting a disabled node client's deletion marks
the node dirty.