stbt-completion: Update config search path to match 1fc5016e

The completions offered for `stbt config` now also look in the default
config location added in commit 1fc5016e.
stbt.py: Deprecation messages should point at source location of caller

...not at the line in stbt.py with the call to `warnings.warn`.

Note that the default values for `stacklevel` is 1, and it is
interpreted as relative to the *implementation* of `warnings.warn`, not
its caller.

Changing the stacklevel to 2 makes the warning messages appear to belong
to the module of the *caller* of `wait_for_match` (etc.), not to the
`stbt` module, so with the existing `filterwarnings` specification the
warning messages wouldn't be printed at all. Hence the change to match
on the message contents instead of the module.

Unfortunately `stbt run` runs the script via `execfile`, so for scripts
executed directly via `stbt run`, the warning message will show "stbt"
for the source file (but the line number will the line number of the
offending statement in the actual script). I think that this commit is
still worthwhile because the source file will be printed correctly for
any calls to `wait_for_match` made from a *library* imported by the
top-level script. In our corpus of test scripts at YouView the vast
majority of calls to `wait_for_match` are made from such library
functions, so the source location printed by this change is of real
value.
stbt.py: Don't use object instance for `match_parameters` default value

A function's default parameter values are evaluated *once* when the
function is defined, not when the function is called; and the function
modifies this value, so subsequent calls to the same function could
get a nasty surprise if they're expecting the original default value.
For example:

(1)  def wait_for_match(..., match_parameters=MatchParameters()):
     ...

     stbt.wait_for_match("template.png", noise_threshold=0.1)
(2)  └ match_parameters.confirm_threshold = noise_threshold

     stbt.wait_for_match("template.png")
(3)  └ properties["confirmThreshold"] = match_parameters.confirm_threshold

All 3 of the numbered lines are referencing the same `MatchParameters`
instance, so the second call to `wait_for_match` sees the modification
that was made in the first call.

Thanks to Aiman Baharna for spotting this.
stbt-completion: Correction of completion of LIRC control-recorder

A modification missing from 1ccc2b1f: the new LIRC remote types haven't
been added to the completion function of '--control-recorder'.