multiplexer: Construct the tree directly from yaml file [v3] #275 

Instead of creating OrderedDicts and then converting it into
tree structure, this modifies the mapping constructor to create
the tree structure directly. This way we only walk through the yaml
file once.

Also remove the tree_unittest.TestReadYAML selftest as it lost it's
meaning. Valures are checked in the TestTreeNode selftest.

Signed-off-by: Lukáš Doktor ldoktor@redhat.com

v0: #272
v1: #274
v2: https://github.com/avocado-framework/avocado/pull/275

    v1: use CLoader when available
    v1: Raise error when adding 2 same children (they need to be properly merged, TBD)
    v1: Support for str2TreeNode comparism + selftest
    v1: Major style cleanup (of the new parts)
    v1: Removed tree_unittest.TestReadYAML (not applicable now)
    v1: Fix framework to use correct functions to interact with new functions.
    v2: Fix incorrectly created nodes in multiplexer unittests
    v3: Modify selftests..multiplex_test to run faster (91s vs. 7s (potentially 1-3))