We don't want zero-length path_direction vector.
Revert to the original behaviour of calling "fly_endpoint" if we have a
zero-length path.
Don't limit the path to strictly be between start and endpoint.
Missing argument for path_endpoint added.