Add test for LircRemote and lirc_remote_listen

fake_lircd translates from the format read by lircd (from irsend) to the
format emitted by lircd (when it receives a real IR signal) as described
in http://www.lirc.org/html/technical.html#applications
virtual_remote_listen log message includes address as well as port

A common error is to specify "--control-recorder=vr:localhost" when
running the VirtualRemote application from a different host.

(In this case you should use "--control-recorder=vr:" to listen on all
interfaces.)

We already see the value of "--control-recorder" in the log when stbt
starts running; but maybe seeing "localhost" again at the "Waiting for
connection" message will make it more obvious that it is only listening
on localhost.
Split `make check` into separate check-{nosetests,integrationtests,pep8} targets

For the convenience of running, say, `make check-pep8`.

`make check` still runs all the tests.
Bash-completion script for stbt

Only tested with bash 4.2. Requires "bash-completion" (which you install
with your system's package manager).

Doesn't complete the gstreamer pipeline arguments to --source-pipeline
and --sink-pipeline, but does complete the stbt command names (run,
record), the option flags themselves (--control, --control-recorder,
--source-pipeline, --sink-pipeline), and the arguments to --control and
--control-recorder (lirc:<path>:<control name>, vr:<hostname>:).

IF YOU'RE NEW TO BASH COMPLETION SCRIPTS
----------------------------------------

`complete -F _stbt stbt` means that bash will run the function `_stbt`
to generate possible completions for the command `stbt`.

`_stbt()` must return the possible completions in the array variable
COMPREPLY. (Note on bash syntax: `V=(a b c)` assigns three elements to
the array `V`.)

`compgen` prints a list of possible completions to standard output. Try
it:

    compgen -W "abc1 abc2 def" -- "a"
    compgen -f -- "/"

(The last argument is the word currently being completed; compgen uses
it to filter out the non-matching completions. We put "--" first,
in case the word currently being completed starts with "-" or "--", so
that it isn't treated as a flag to compgen.)

For the documentation of COMP_WORDS, COMP_CWORD, etc see
http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-COMP_005fCWORD-180

See also:
* http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html
* http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html

WORD SPLITTING
--------------

Bash completion splits the command line into words according to the
separators in COMP_WORDBREAKS, which (by default) include "=" and ":".

Instead of using the typical `prev="${COMP_WORDS[COMP_CWORD]}"` to get
the word before the word currently being completed, we need
_stbt_get_prev() because we need to know the entire preceding flag and
its arguments, which (potentially) consist of several words, including
":" and "=".

Note that I don't want to change the value of COMP_WORDBREAKS because it
needs to be set before the completion function is called; changing it
would affect all completion scripts for all commands, not just for stbt.

TRAILING SPACES
---------------

By default, bash appends a space to the completed word. We give
`-o nospace` to `complete`, and then selectively add trailing spaces to
certain completions (`run`, `record`, `--control`, etc) but not to
others (`lirc:`, `lirc:<path>:`, `vr:`, etc).

In an array assignment like `COMPREPLY=(a b c)` the elements a, b, and c
are split according to IFS† which normally contains space, tab, and
newline; for our space to be considered part of the word itself, we set
IFS (locally) to just newline. IFS is set this way in `_stbt()` and thus
has effect in all the other functions called from `_stbt()`.

† http://www.gnu.org/software/bash/manual/html_node/Word-Splitting.html

`compgen` already returns each word on its own line. We just have to
take care when using `compgen -W "..."`: The words passed in the
argument to `-W` must also be newline-separated. The helper functions
`_stbt_trailing_space` and `_stbt_no_space` ensure this.