### wai-quantum 0.6.10: one OpenQASM reader for the service, the command line and the browser IDE

Additive, apart from the old line reader's refusals below. Every pinned digest is unchanged.

- **`wai_quantum::qasm`** (feature `quantum_qasm`) is the job service's OpenQASM reader,
  moved into the library unchanged. The service, `wai-quantum run --qasm` and the browser
  IDE's import now read a program the same way. Before, the IDE read two registers as
  one, skipped a gate on a whole register, and read past what it did not know.
- **`qasm::dyadic_circuit`** gives the exact state vector's circuit for a program whose
  measurements all come at the end, and refuses one that measures and then acts, resets
  after a gate or uses `if`, with the reason.
- **`quantum_toolchain::from_qasm`**, the older line reader, refuses what it cannot take
  instead of dropping the line: more than one register, `reset`, gate definitions,
  `if`/`while`/`for`, a gate after a measurement, two statements on one line. Each
  refusal names `wai_quantum::qasm`.
- **The IDE binding** (`wai-web`) builds its JSON with `serde_json`, so a quote or a
  control character in a program or an error no longer breaks a reply.
  `set_signing_key`, `public_key_hex`, `signer_did` and `key_is_demo` let a page sign
  receipts with a key of its own; without one it signs with the published demo key and
  says so.
- **The command line** signs with `--key FILE`, `$WAI_QUANTUM_KEY`, or this user's key at
  `$XDG_CONFIG_HOME/wai/quantum-key` (or `~/.config/wai/quantum-key`). That key is made
  from the operating system's random source on first use, with mode 0600.
  `--demo-key` keeps the published key, with a note that its receipts show a result is
  unaltered, not who signed it.
- **A receipt from the command line or the IDE names its signer by its key's `did:key`**
  (`wai::signer_id::did_key`), where it used to carry a label naming no key.

