Fixed split/2 to account for duplicate items
A little documentation
split_left_right/3 returns 2 splitted heaps

But it returns the furthest most instead of the neareast tree
to split with
split_left_right/3 now works as expected
split_left_right/3 renamed to internal_split

Cleanup
Implemented decrease_key/3
Can now create a max or min heap
Fixed a bug on uneven length heap