IR: `SupportsVersion()` => `SelectVersion()`.

Add `toml` as a dependency.
IR: Replace JSON with TOML.

`ServerConfig` => `InboundConfig`.
IR: `server.accept` => `common.AcceptConns`.

Ensure that the `Serve()` loop exits properly.
`*.Close()`: Drain `errChan` correctly.
Extract common config errors.
Close CN and IR servers on `SIGINT`.

Add missing `cnd` package.
IR: `ReplyWith()` should set the `ConnId` field.
OR: Update protocol helpers and tests.

* Define the `Request` and `Reply` interfaces.
* Implement `{Deliver, DeviceChange}Request.{Id, Conn, Device,
  ReplyWith}()`, `DeviceChangeRequest.Recycle()`, and
  `{Deliver, DeviceChange}Reply.{Conn, Id}()`.
* Remove `DeliverReply.Recycle()`.
Initial OR skeleton implementation.