avocado.multiplexer: Expand the list comprehension.

Expand the list comprehension that handles filtering.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.core.tree: Add method to detach a node.

Add method to detach a node from the tree.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.core.tree: Adopt path_parent() from avocad.multiplexer.

Adopt function path_parent() from the module avocado.multiplexer.
We will need this when we move the filtering to the level of
the tree.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.core.tree: Introduce function apply_filters().

Introduce function apply_filters(), which will prune
the tree that we use to multiplex and create variants,
by using rules for filter only and filter out, passed by
the command line (aka global filters).

It works for the test runner and for the multiplex plugin,
or anything that uses the TreeNode data structure with filters.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.multiplexer: Ignore root node if it is leaf.

When getting leaves, if the node is root and alone, ignore it.
This situation is possible if filtering just preserves the root node,
so the root node will be leaf and returned.

That makes things a bit weird to get the variants,
because it will become one. So, we are going to ignore it.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.multiplexer: Don't probe local filters.

In the current state of the code, the local filters are broken, so it's
better to keep it disable for now.
multiplexer: Fix code style.
Merge pull request #229 from ruda/multiplex_refinements

Multiplex refinements: filters