P queue

Added more tests
Heap can now be created in either max or min
You _could_ say ```raise IndexError("Yo, this is an empty heap.")```. I personally would prefer ```raise IndexError("This is an empty heap, yo")```.