Fixed compiler warning about comparing unsigned with signed.

- Added a function "expect_eq", that converts both arguments to the same
type, before comparing.
Added build files for libatomic
Added initial interface for semaphore
Updated interface for semaphores.
Added empty source and test files for semaphore
Merge branch 'master' into feature-atomic-tools
Added new file to test interfaces
Added include for condition_variable
Added interface tests for semaphore
Disabled construction with signed types.
Disabled construction with long types
Use mutexes instead of atomics

Condition variables only with with locks and mutexes.

- Implemented the constructor + unit tests.
- Removed the is_lock_free() function. The answer is always
false.
- Compile only with g++, since the condition_variable code
mentions the chrono library, which isn't supported by clang at
the moment.
Implemented acquire/release + unit tests
Renamed member variables to be about resources.