Lazy stream creation

I need this to simplify some code in dat. Basically it allows you to only create streams just before they are used

``` js
var streams = [
  new Stream(),
  function() { // wait until this is used before creating the new stream
     return new Stream()
  }
]

multistream(streams).pipe(process.stdout)
```

I've added a test and some doc updates as well.