Added the skeleton of the platform abstraction.

For now it is only the semaphore creation operation, implemented only as
unit test mocks.
Added the semaphore delete operation to the mock.
Added semaphore take operation.
refactored tests.