added perform methods to StreamExtensions and PromiseExtensions to
asynchronously perform sideeffects