OS X Compatibility

- OS X does not have spinlocks and according to the internet this should be a dropin replacement
- OS X also does not have clock_gettime and CLOCK_MONOTONIC so reimplement these as well
- CMake now can compile from anywhere and not just the current directory (due to not finding the cmake folder in the project root)
- OS X does not have librt; exclude it from CMake target libraries for compile