Simplify message names.

Rename `{Client, Server}*` to `*{Request, Reply}`. Shorten
`ClientDeviceListing` and `ClientConnChange` to `DeviceList` and
`ConnChange`, respectively. `HeaderListDevices` => `HeaderDeviceList`
for consistency.
Encoding: `bufio.{Reader, Writer}` => `io.*`.
Implement `ReaderFrom, WriterTo` for all messages.

The `ReadFrom()` and `WriteTo()` signatures now conform to those
declared by the `io.ReaderFrom` and `io.WriterTo` interfaces,
respectively.