Initial IR server implementation.

* Add `common.Err{TooManyConns, IdCollision}`.
* `Service` => `ServiceName`; `MessageId()` => `Id()` to avoid
  naming collisions between request packets and the `Request`
  interface.
* Remove the legacy `inbr.{Request, Reply, Routable}` interfaces.
  Avoid the `common.{Node, Duplex}{Request, Reply}` interfaces for now.
* Define `Request.ReplyWith()`, `Reply.Conn()` and `Reply.Status()`.
* Add `ServiceHelo.Service()`. Service names are now case-insensitive.
Update IR protocol tests.

* Ensure that `Request.Service()` always normalizes the service
  name case.
* `NodeHelo` and `ServiceHelo` are exchanged synchronously, and do not
  include the routing information necessary to satisfy the `Request`
  and `Reply` interfaces.
IR: Add missing CN `DeviceChangeRequest` test.