code: def paths(self):
      
      paths = []
      for tree in self.components():
        paths += self._single_tree_paths(tree)
      return paths
docs: Assuming the skeleton is structured as a single tree, return a 
      list of all traversal paths across all components. For each component, 
      start from the first vertex, find the most distant vertex by 
      hops and set that as the root. Then use depth first traversal 
      to produce paths.
  
      Returns: [ [(x,y,z), (x,y,z), ...], path_2, path_3, ... ]