build New Route Progress
Will take a given location update and create a new RouteProgress based on our calculations of the distances remaining.
Also in charge of detecting if a step / leg has finished and incrementing the indices if needed (NavigationRouteProcessor.advanceIndices handles the decoding of the next step point list).
Return
new route progress along the route
Parameters
navigation
for the current route / options
location
for step / leg / route distance remaining