README: Add Travis CI build status icon

So that the build status will be visible in the GitHub web interface
at https://github.com/drothlis/stb-tester (which displays the README
in the main project page).

travis-ci.org is a free Continuous Integration service -- see commit
b08660e5 for details.

When we generate the stbt man page from this README, we have to remove
this image, because man pages can't have images and we'd end up with
an ugly placeholder instead.
Disable annoying pylint warnings

Disable the following pylint warnings:

* All "C" conventions, because some of them (like "missing docstring")
  are too draconic. The exception is C0301 (line too long) which we do
  want to enforce. In fact, enabling the "line too long" check was the
  initial motivation for enabling pylint warnings in 1276c4e3.

* All "R" refactor warnings, because I don't believe code quality can be
  automatically measured by things like "a class must have at least two
  public methods".

I didn't find any way of wrapping the "disable" line in pylint.conf: A
trailing "\" doesn't work, nor does specifying "disable" multiple times
on different lines.

Use "pylint --list-msgs" for a description of all possible warnings.
Use "pylint --help-msg C0301" for a description of a particular warning.

Note that "pylint: enable=C0111" doesn't actually work now that C0111 is
disabled in pylint.conf, so I've removed those comments; these public
functions all have docstrings already.
Remove some pylint inline comments

Instead of telling pylint to ignore W0613 (unused argument), name
the argument with a leading underscore; this also causes pylint to
ignore it.

And fix string escapes to comply with the python spec, instead of
ignoring W1401 (anomalous backslash in string).
Add a standalone irnetproxy.py script for the RedRat irNetBox III

The irNetBox only allows one network connection at a time.  This means
the 16 ir ports it has cannot be easily controlled by multiple clients
simultaneously.

This script allows many clients to connect to the device, and use
the ports concurrently.  **Note**, this only makes sense for the
Asynchronous IO Output Commands, other commands will be run
synchronously as before.

http://www.redrat.co.uk/products/IRNetBox_Comms-V3.X.pdf

Usage
-----

```
$ irnetproxy -r <irNetBox address>
```

OR

```
$ irnetproxy --irnetbox-addresss <irNetBox address> \
             --irnetbox-port 10001\
             --listen-port 10001\
             --listen-address 127.0.0.1\
             -vv

> Listening for connections on 127.0.0.1:10001
```

Existing irNetBox network clients should then connect to the proxy
server, rather than the irNetBox.  Everything else should behave the
same.

Features
--------

 - Session multiplexing: irnetproxy dynamically maps Asyncronous
   Sequence IDs on the fly, meaning that multiple clients can use the
   same Sequence ID concurrently, and the irnet box will continue to
   work.  Both the command acknowledgement, and the subsequent Async
   complete message are always routed to the correct client.

 - On/Off management: irnetproxy will silently accept the on and off
   messages (5 and 6).  A standard ACK response is returned to the
   client, but the command is never sent to the device. This allows
   multiple scripts to try to turn off the device while other devices
   use it.  irnetproxy issues the ON command when it connects, and
   issues an OFF command when it is stopped.
Add irnetproxy tests into the existing test runners

 * make check-pylint now runs on irnetproxy
 * make check-nosetests includes the irnetproxy_test module