add priority queue
make shortest-path and prim use generic bfs

- updated bfs to accomodate shortest-path and prim
- also added edge? vertex? and in-edge back to gen:graph