remove depricated items
Refactored internal datastructure.

Instead of using two hashsets (one for open, one for closed), now we
just have one, and track the open-closed state on the object manually.
removed debug crate dependency
added documentation
commented the body of the astar function
switched vector implementation to ringbuf to get in-order path
search problem can return any iterator