Added JSON protocol documentation, and a simple Wireshark filter.
Improved the help for the command line interfaces.

- First, any incorrect commands print a usage message rather than a full
  help message.
- Any incorrect commands cause the message to be print out on stderr,
  rather than stdout.
- Exceptions produced by failing `getopt()` calls are now caught and
  handled appropriately.