Path finding functionality

Provide functions to search a path between coordinates. Additional methods like cost of a path, does a path exist etc are provided as well.