[LIBS] buddy: Fix potential race in buddy_mem_free() & buddy_mem_partial_free()

Both buddy_mem_free() and buddy_mem_partial_free() first find a
buddy_area from alloc tree and then delete it from alloc tree.
On a SMP host, buddy_mem_free() and buddy_mem_partial_free() can
be called simultaneously from different host CPUs hence find and
delete of buddy_area has to be single operation protected by lock.

This patch makes find & delete buddy_area in buddy_mem_free() and
buddy_mem_partial_free() as single operation protected by alloc_lock.

Signed-off-by: Anup Patel <anup@brainfault.org>