tor-hsservice: Make the publisher update the `OnionServiceStatus`
This makes the publisher (and IPT manager, to some extent) report its status via StatusSender
.
These are the state transitions I implemented in the publisher:
//!
//!
//! update_publish_status(UploadScheduled|AwaitingIpts) +---------------+
//! +---------------------------------------------------->| Bootstrapping |
//! | +---------------+
//! +----------+ | update_publish_status(Idle) +---------+ |
//! | Shutdown |-- +----------------------------------->| Running |----+ |
//! +----------+ | +---------+ | |
//! | | |
//! | | |
//! | run_once() returns an error +--------+ | |
//! +----------------------------->| Broken |<----------+--------+
//! +--------+ run_once() returns an error
//!
Part of #1083 (closed)