Changed Port Repo to be generic

Changed Port Repo to be generic
Dijkstra is called Graph and is no longer static.
changed Graph to be generic

Graph<TNode>