interface: Only allow newly constructed road to be commited to map state when the road is final and valid.

viewport: Draw temporarily placed road segments during road construction.
game: Move actual road construction to game_build_road().

This change enforces that all road construction to go through the game interface, game_build_road(), meaning that the map state will always only contain valid roads (connection two flags or a building and a flag).
As a side effect, the way automatic road construction works has changed slightly. The pathfinder will now try to find the best road from the source of the road construction to the destination, rather than from the current point.