Add heap sort

Move compare.h to root folder
Add compare.h to binary heap (max, min heaps possible)
Add support for different priority queues (inherited from binary heap)
Fix binary heap to move item to correct place after deletion