Always returns start and end nodes when a path is found in astar

This fix will make astar always returns the start and end node when a path is found.

Because, without this fix, one can not make a difference between an empty result (no path) and a 2 cells path (a path from a cell and its adjacent cell).

I am now sure you will want to integrate this one because it will breaks existing code that will not expect the start and end node to be in the result.

But I think it makes sense anyways.

Let me know if you have questions!