pipelet.js: implement transaction in Pipelet..add_source() and better transaction in ..add_query_source()
Pipelet.._update_query(): split fetch() in two steps (removes then adds) with _query_tree_update() in between to prepare for upstream queries modifications