stbt-completion: Don't offer completions for the LIRC socket, by default

LIRC is the Linux Infrared Remote Control daemon. I imagine that for
most people the default socket path will work. Having tab-completion
suggest all the files in your working directory is terribly confusing
for new users, so now the completion jumps straight to the second field
(completing "lirc::" instead of "lirc:") where completion suggestions
will be the name of the remote control, as per the lirc config file.

You can still press backspace (or left arrow) once to get tab-completion
assistance for the socket file.
stbt record: Generated script qualifies commands with "stbt." module

Our experience writing test scripts at YouView has shown that you end up
writing all manner of helper functions that build on the primitives
provided by stbt. When your script calls functions like `find`, `wait`,
`match`, and `wait_for_match`, it can get confusing as to which
functions are provided by stbt and which are in-house. So we adopted the
practice of explicitly qualifying by the module name, always:
`ourlib.find`, `ourlib.wait`, `stbt.wait_for_match`.

Now `stbt record` generates scripts in this format, just to nudge people
towards this best practice. In future we might stop `stbt run` from
implicitly importing `wait_for_match` etc. into the top-level namespace,
but for now the only change is to what `stbt record` produces; previous
scripts will continue to work.
Remove unnecessary workaround for gst-opencv bug

We haven't used the gst-opencv package since stb-tester 0.4, when we
brought the templatematch GStreamer element into
gst/gsttemplatematch.[ch]. (We still use openCV, but the GStreamer
element wrapping openCV is now in stb-tester, not the third party
gst-opencv package.)

To test this I removed the plugin registry
(~/.gstreamer-0.10/registry.*) before running stbt.
stbt-completion: Don't suggest lirc *key* names as *remote* names

A lircd.conf normally looks like this:

    begin remote
      name  ABC
      begin codes
          POWER 0x000800FF
          ...
      end codes
    end remote

`_stbt_lirc_name` worked correctly with this type of lircd.conf: the
suggestion would be "abc".

But with some other brands of remote control, lirc's `irrecord` utility
can only generate config files in the "raw" format:

    begin remote
      name XYZ
      begin raw_codes
        name POWER
          212     1031    212     2262    212     758
          212     2809    212     1305    212     1305
          ...
      end raw_codes
    end remote

With such a lircd.conf, `_stbt_lirc_name` would suggest key names like
"POWER" as completions for the remote name.

Note that a single lircd.conf can contain multiple "remote" blocks;
the awk script in this commit handles that correctly.
stbt-completion: Complete lirc remote name after "lirc::"

Normally bash splits the command line at ":", so for a command line like
"stbt run --control=lirc:/var/run/lirc:X<TAB>", COMP_WORDS gets set to
(stbt run --control = lirc : /var/run/lirc : X). But when two colons are
adjacent, bash considers them a single word: (... lirc :: X).

In _stbt_get_prev, "lirc::<TAB>" matched "::" (in $p) against the glob
pattern "[=:]*", so lirc remote names were suggested correctly;
but after you typed a letter ("lirc::x<TAB>") the "::" goes in $pp
instead of $p, so it was tested against the glob pattern "[=:]" which
didn't match. Now we also test $pp for an explicit "::" and all is good.