PriorityQueue was made a template class

All methods of PriorityQueue were mede template for arbitrary type of
priority and value.
A new class SimplePriorityQueue : PriorityQueue<double,size_t> was
added, in order to keep onsistence with previous implementations of
other classes