Lists the current Node and its children.

        Usage::

            >>> node_a = AbstractCompositeNode("MyNodeA")
            >>> node_b = AbstractCompositeNode("MyNodeB", node_a)
            >>> node_c = AbstractCompositeNode("MyNodeC", node_a)
            >>> print node_a.list_node()
            |----'MyNodeA'
                    |----'MyNodeB'
                    |----'MyNodeC'

        :param tab_level: Tab level.
        :type tab_level: int
        :return: Node listing.
        :rtype: unicode

def list_node(self, tab_level=-1):
        """
        Lists the current Node and its children.

        Usage::

            >>> node_a = AbstractCompositeNode("MyNodeA")
            >>> node_b = AbstractCompositeNode("MyNodeB", node_a)
            >>> node_c = AbstractCompositeNode("MyNodeC", node_a)
            >>> print node_a.list_node()
            |----'MyNodeA'
                    |----'MyNodeB'
                    |----'MyNodeC'

        :param tab_level: Tab level.
        :type tab_level: int
        :return: Node listing.
        :rtype: unicode
        """

        output = ""
        tab_level += 1
        for i in range(tab_level):
            output += "\t"
        output += "|----'{0}'\n".format(self.name)
        for child in self.__children:
            output += child.list_node(tab_level)
        tab_level -= 1
        return output