Added hash table, priority queue and set types

Read the headers, for structure changes, the documentation is in the
c files, tests are provided for getting familiar with how to use.

The function pointers in the structures are required! but can be changed
to fit your needs

The hash still needs to be worked on.
Added priority queue implementation