class_docstr: Remove useless local functions
  
  >>> import gast as ast
  >>> from pythran import passmanager, backend, metadata
  >>> pm = passmanager.PassManager("test")
  >>> node = ast.parse("def foo(): return 1")
  >>> _, node = pm.apply(RemoveDeadFunctions, node)
  >>> print(pm.dump(backend.Python, node))
  def foo():
      return 1
  >>> node = ast.parse("def foo(): return 1")
  >>> metadata.add(node.body[0], metadata.Local())
  >>> _, node = pm.apply(RemoveDeadFunctions, node)
  >>> print(pm.dump(backend.Python, node))
  <BLANKLINE>
code: def visit_FunctionDef(self, node):
      if metadata.get(node, metadata.Local):
          if not self.def_use_chains.chains[node].users():
              self.update = True
              return None
  
      return node
  
imports: from pythran.analyses import DefUseChains
  from pythran.passmanager import Transformation
  import pythran.metadata
label_desc: Use image node_id 2 for calling the RemoveDeadFunctions obj's underlying member method code with example usage: obj.visit_FunctionDef(node) and returns: node, None