avocado.core.tree: Docstrings, pylint/pep8 fixes

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
avocado.multiplexer: Support for debug run

This complex patchset adds debug version of yaml parser. It stores
the origin of each value from environment. For list it stores
per-slice origin too.

Debug mode is NOT suitable for run-ner, only for multiplex-er. It
corrupts the values by adding the origin after the value.

The unittests were adjusted and enhanced. I added explanation into the
examples/mux-selftests.yaml describing what the weird names stands for
and what they test. I added couple of check which stress the old tests
and couple of them test the new features.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
avocado.core.tree: Return self as root when no parents

self is a valid node and can be root of the tree.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
FIXME: avocado.core.tree: Support for including files from yaml

TODO: Add documentation

This patch defines "!include" tag for inserting other files from within
the yaml file.

Keep in mind that it's necessarily to separate the ':' from the tag,
otherwise yaml thinks it's a different tag.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
FIXME: avocado.core.tree: Support for using

TODO: Add documentation

Support for '!using' flag. It extends the current leaf location
of the provided path. It can't completely change the location,
it only extends the base.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
FIXME: avocado.core.tree: Support for remove_node flag

This pach adds support for yaml tag "!remove_node", which during the
merge removes the node defined in previous tree. This happens only
during merge, before new children are added.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
FIXME: avocado.core.tree: Support for remove_value

TODO: Add documentation

This patch adds support for '!remove_value' yaml tag. It can be used
to remove certain value from previously existing values. This happens
during merge before value is updated.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>