Updated EOLs of openNI2_to_rawlog CMakeLists.txt
Don't set -Wno-write-strings on APPLE

For some crazy reason, this ends up getting replaced with
"-Wnorite-strings" at link time, which causes g++ to bail complaining
about unknown options.
Adding an Apple specific semaphore implementation

Apple is not truly POSIX compliant as they do not support unnamed
semaphores through the POSIX interface. This change creates a new class
that exposes the low-level Mach semaphore implementation for unnamed
instances, and keeps the POSIX wrapper for named instances.

I suggest that MRPT moves to using Boost's platform-independent
semaphore implementation:

http://www.boost.org/doc/libs/1_55_0/doc/html/interprocess/synchronization_mechanisms.html
Fix formatting
Changelog update
Fixed permission typo: mode_t is octal.
Fixed threadsTest in Windows (while checking #25)
New unit tests for critical sections & sems. cc: #25