impl:commands:checkbox: Handle invalid (include|exclude)_pattern_list items

To avoid a crash if PlainBox is started with invalid re patterns, e.g:

plainbox run -i ?
plainbox run -x [foo

re.error are now loggued as warnings.
impl:test_box.py: Added two tests for invalid re patterns
Ensured that pactl commands are run on a properly unlocalized environment (LP: #1201126)
"Ensures that pactl commands are run on a properly unlocalized environment. Code was setting LANG to "C", but that seems to not reset LANGUAGE which is still honored by pactl. Setting LANG to POSIX instead produces the desired behavior. [r=][bug=1201126][author=roadmr]"
scripts/storage_test: test now exits with a warning if the drive is not
mounted prior to testing (LP: #1224820)
"automatic merge by tarmac [r=][bug=1224820][author=bladernr]"
plainbox:service: rewrite the DBus 'service' module

This patch changes how the DBus service handles life-cycle of various
objects it creates and how it reacts to dynamic changes (generation of
additional jobs, substitution of results -- both of which happen during
the resume operation).

Instead of "patching" holes in the coverage of DBus wrappers for native
(python, non DBus) objects after each operation that can potentially
cause such operation to be required, the resume code registers event
listeners on key signals and performs the necessary actions as those
events are fired.

One important change is that generated jobs are now being "owned" by the
session wrapper object in which they became generated. In general, when
(eventually) we will support having multiple sessions at the same time,
each session may generate identical jobs and we cannot let those clash.
In addition, we cannot really add jobs to any of the providers as it
would make little sense.

As mentioned earlier the results and state objects are now created
dynamically when new jobs are added. While state object are never
removed, results can be both created and removed. This can happen, for
example, when resuming a session or when re-running a job.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:service: ensure that empty collections have proper DBus types

This patch changes a number of methods and properties to ensure that
they carry proper signatures in case the collection that is returned
is empty.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:service: fix PEP-8 issue

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:service: rework signals for JobResultWrapper

Just docs and small tweaks

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"automatic merge by tarmac [r=roadmr][bug=][author=zkrynicki]"
scripts/fwts_test: Removed dmi_decode and smbios tests that are no longer present
in fwts and change version dependency to latest version (LP: #1218993)
Update debian/control to suggest correct FWTS version
"automatic merge by tarmac [r=zkrynicki][bug=1218993][author=brendan-donegan]"
Launchpad automatic translations update.
scripts/virtualization - change kvm command to qemu-system-x86_64 as the 
former is deprecated (LP: #1224854)
plainbox:MANIFEST.in: redo the manifest file

I've generalized a number of include rules, sorted the files, updated
missing things, etc.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"automatic merge by tarmac [r=roadmr][bug=][author=zkrynicki]"
plainbox:result: discard irrelevant entries passed to _JobResultBase

This patch drops "irrelevant" entries from the data object passed to
the initializer. Irrelevant entries are empty lists and None. This will
make effectively identical result objects have actually identical _data
instance attributes.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:result: add _JobResultBase.__eq__()

This patch adds a way to compare results. We already rely on this
comparison in JobState.result property setter function.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>