remove a prev attempt before reimplement
Move unilock to a separate lib to break cycle dependency.
Resolve compile errors when shared libs requsted to build.
Migrate to #pragma once for rest of unilock library.
export CMake configuration refactored