Added memory mapping for linux

- Changed Windows functions over to shm_open, ftruncate and mmap
- Added volatile keyword to structures, Simulink on Linux was optimising them out
- Changed all comments to /**/ as Simulink on Linux passes -ansi to gcc which doesn't allow // comments
- Simulink build now requires librt and I can't find a way to pass -lrt to the simulation build, so it is necessary for the user to create a symlink to librt.so in working directory
- Updated model callbacks to automatically add librt.so to custom libraries if on unix
- Added a clear of all variables created by model callback