Initial rough dialback support

* [x] <del>Code is rough</del> Greatly reduced oddness by `Node` module  and finding stream by ID.
* [x] <del>Storing secret probably in the wrong way</del> Finding stream by ID now seems sensible.
* [ ] No tests
* [ ] Stop offering SASL external if cert invalid
* [ ] Rebase into a clean commit
* [ ] No cluster support (Only if upstream interested?)
* [ ] Investigate also adding Bidi (XEP-0288) support  (Only if upstream interested?)
No, iirc this implements the authoritative server in section 2.1.2, we listen to a verification request and reply with a verification.