pipelet.js, many changes:
  - New pipelet encapsulate( input, output ) to group a graph of pipelets into a single pipelet
  - auto_increment() now uses encapsulate() to appear as a single pipelet
  - dispatch() now uses encapsulate() to appear as a single pipelet
  - fetch(): set this.no_add to false after first fetch to allow additional fetching if sources are subsequently added
  - Union.fetch: send receiver no_more properly even if source.fetch is assynchronous
  - Pipelet.remove_source(): fetch source to remove values
  - Pipelet.remove_source() and Pipelet.unplug(): add option no_fetch to prevent fetching source after removal
  - Dispatch.remove_branch() now sets option 'no_fetch' to true when calling unplug() to prevent unecessary and impossible fetching
  - fetch(): stop sending undefined values, send [] instead, this is to prevent possible bugs
  - pass_through(): add/remove/update: return this
  - add ToDos
  - Update documentation
test/http.js: move auto_increment() to test add() on source: it works