Defining little helper functions as lambdas.
First implementation of long distance paths.

Supports crossing multiple regions.
Performance is very good.
Generated paths aren't always optimal when the target hex is on the edge
of the next region.