Make interface to priority queue consistent.
Added test case for priority queues.
Made the priority queue generic.
NULL argument for cmpfun eliminated.
Use extract_min instead of delete_min for functionname.
coding style