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`.