Implement Coalesce Functionality

Checks if neighboring blocks are equal to it's next/prev pointers. If
true, then it combines them together.
Implement mem_dump

prints out free list
Delete printf tests in mem_init
Merge branch 'coalescing'