.md -> .markdown
Started working on the platform abstraction layer.

For now it is only a README about semaphore usage.
Fix markdown formatting
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.
Added the semaphore post operation.
Fixed include paths.
Added tests back.
Added a gitignore.