Update puliclient API

Updated examples to use puliclient to submit jobs.
Several method added for better comprehension: nodes can now be created in the hierarchy, avoiding bad references

Graph:
  - grap.add( elem )
  - graph.addList( elemList )
  - graph.addNewTask( args )
  - graph.addNewTaskGroup( args )
  - graph.addEdges( edgeList )
  - graph.addChain( edgeChain )
  - graph._repr_() to display graph as a json

TaskGroup:
  - TaskGroup.addNewTask( args )
  - TaskGroup.addNewTaskGroup( args )
Add info for examples
Add dependecy on a taskgroup

Add method to recursively update dependencies when the node that depends on something is a task group.
In this case, we add the same dependency to all children nodes.
Correct dependency btw taskgroup and taskgroup
comment
comment
Merge branch 'feature/update_API' into develop