Fix #merge for calls on Stream sub classes

Before calling #merge on `Map` for example would explode as `Map`'s
constructor is not the same as `Stream` and the code was doing `self.class.new`
rather than `Stream.new`.
Merge pull request #24 from seadowg/merge-fix

Fix #merge for calls on Stream sub classes