Changed the interface of Workflow so that workdir and manager are
 optional arguments. Their value can be set outside __init__ with setter methods.
 Refactoring the treatment of dependencies in Task and Workflow
 Use node_id to implement __eq__ and __hash__