renamed StreamExtensions.mapPair to map, and used mapWithCount for a
counting map implementation
removed mapWithCounter because you can also implement that easily as a
pair stream
- added call methods to Stream for async call resolving
- added call methods to Promise for flatmap async call resolving
- updated tests etc