comms/BasicNode: some changes for better reliability + shutdown

Also changed BasicNode to derive from WorkerObject.