BasicNode: make it more clear when diagnostics are from BasicNode
BasicNode: emit disconnect signal only when we're sure we can halt

(i.e., from the current thread)
BasicNode: ensure disconnect sig. receives access to IO service

Without this, the disconnect signal would use blocking signal emission.