+str #15142 Initial support for timing streams

This PR includes most notably:
* `timed(_.streamops)` wrapper that measures time between start of
   processing and end of it.
* `timedIntervalBetween(T => Boolean)` which measures time between
  matching elements appearing in the stream
* DSL is enabled by importing from `extra.Implicits`
* Methods can be used without implicit by Importing extra.Timed.timed()