Add Map.getPaths()

Map will now find the one optimal path from start to finish.

TODO:
* Have Map find more than one path
* Have Map find all starts and the end