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.

Beware it's not nice, not thread safe and does local imports. All of
these were used to minimize the normal (non-debug) run of the
multiplexer. Therefor debug mode is slower and nastier than it could be,
but normal run is almost not affected.

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: Docstrings and cleanups

No actual changes, only refactoring and pylint fixes.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
avocado.core.tree: Modify is_leaf()

no need to compare size, simple `not self.children` does the same job.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
avocado.core.tree: Remove unused argument in iter_children_preorder

argument node is not used and can be safely removed.

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