plainbox:impl:unit:job: fix propertywithsymbols docstring handling

This patch fixes propertywithsymbols' docstring handling. There are some
additional tests to ensure that other basic features work as expected.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
checkbox-touch:get-libs: Avoid the git clone command, prefer tar.gz

Using git tags and github releases.
plainbox:secure:origin: add OriginMode

This patch adds OriginMode, a symbol definition class that describes all the
possible types of internal state that an Origin instance can be in. Essentially
it describes which attributes of an Origin instance make sense at any given
time.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:secure:origin: update Origin docstring

This patch just corrects the docstrings' format and hits at an upcoming
extension to what an Origin class can represent. In addition to the current
line-range and single-line a while-file mode is possible when both the
line_start and line_end attributes are None.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:secure:origin: add Origin.mode()

This patch adds the Origin.mode() method that simplifies implementation of
several other Origin methods. The method computes which of the internal state
an Origin instance is in.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:secure:origin: add whole file mode

This patch adds support for a new OriginMode where a file is being described.
This is applicable to binary files that have no specific lines or other record
delimiters but also to the cases where it is pointless to talk about a specific
fragment of a file if the intent is to describe the whole file at once.

This mode can be used by ignoring the line_end and line_start instance
attributes and initializer arguments (which now are optional)

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:secure:origin: add Origin.whole_file()

This patch adds a new helper method, for completeness, that is similar to the
Origin.just_line() method (which could arguably be renamed single_line() for
parity with internal OriginMode values)

The method returns a new Origin object that describes the same text source but
resets the line_start and line_end attributes to None.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"automatic merge by tarmac [r=zkrynicki][bug=][author=sylvain-pineau]"
"automatic merge by tarmac [r=roadmr][bug=][author=zkrynicki]"
"automatic merge by tarmac [r=roadmr][bug=][author=zkrynicki]"