recalculate all route segments

Adds a public method routeAllSegments to recalculate the complete route by routing each segment.

Use-case is to update the route after routing options like profile (mode of transport) have been changed by the user.

Another way to update the route would be to send a single request with all waypoints and split the result into segments. Probably depends on what the routing engine supports. Leaving that as a task for later.