allow constructing StepRange by length

It turns out there are many cases that are drastically easier this way.
Tests not passing yet, but getting there.