more lime less scurve

I removed tuple and tie and expanded what scurve does inside.
hopefully this means we won't crash inside the lambda anymore,
but we'll just have to try running it and see!
copied the path message instead of relying on const_cast

this seems more reliable and will hopefully prevent the crazy crash
I saw recently that appeared to be related.
fixed off by 1 error

or made it an off by 2 error, we'll know soon.
fixed another off by one error.

stupid off by one error stupid.
Merge remote-tracking branch 'brandon/sbpl' into sbpl
special case zero distance traveled for path time calculation.
Fixed timestamp at the end of a turn-in-place