void * coalesce(void * bp); param: bp - Points to a free block; not on the linked list (or tree) of free blocks. Description: Removes adjacent blocks from the free list (or tree) if either one or both are free. Merges block bp with these free adjacent blocks. Return: pointer to the merged block; also this block is NOT yet in the linked list or tree of free blocks.