Feature/on time perf

This indicator is pretty involved - the comments should be a decent guide
This formatting took me a while to parse. Not sure if that's you're preferred style, but I would find the following to be much more readable:

```scala
  Some(
    scheduledTravelTimes
      .zip(obsTravelTimes)
      .map { case (schedSeconds, obsSeconds) =>
        (schedSeconds - obsSeconds).abs
       }
      .toSeq
  )
```

It takes up more lines of code, but then again, Scala is concise enough were we have some extra line room to play with for readability, and I prefer more space to reason about data transformations over terseness. In the above format, each transformation of the data is on it's own line, so you can parse through what the data is transformed to going down the pipeline for each line. The `map` functionality is indented so that it is clearly the body of the map. The `Some` is is clearly wrapping the inner value.

Again, just my preferences, but want to share my formatting approach and reasoning for it.