liblock: initial commit

This kinda works, still needs a lot of work in the makefile department.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
liblock: move global variables to their own object file

Prevent collisions and make everything prettier.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
liblock: Move internal headers out of include/

Leave just the public header in include/

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
liblock: add simple tests

A rather simple method to make sure everything works right, add
AA, ABBA, and lock unbalance tests.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>