Added Generic Priority Queue

Implemented using sorted dictionaries.
Added insertion sort algorithm
Added Dijkstra's shortest path algorithm