> Adding first pass of shortest route algorithm.
> TODO:
>> Revisit recursive behaviour.
>> Consider optimizing away visited node copy if possible.