Added makefile for linux

- Copied from another robot, uses global TORCS rules
Updated .gitignore for linux build
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
Explicit cast to (void*) for memset and Unmap

Data store is not a volatile pointer which can't be cast automatically, so
added explicit (void*) to required locations