Tap and activate

`tap` works like `map`, but keeps stream values.
`activate` triggers event listening by adding one more listener. That listener can only be unsubscribed from inside - by returning `Reply.stop`. Default function for that listener is `nop`, which obviously never unsubscribes.