refactored data_state and removed unnecessary operations inside of the map
changed buffer->data to unsigned char *
error checking on sem_wait() in _thread_exit()
changes due to previous refactoring in map.h
Added threadsafe container ringbuffer. Added container cache (basically fixed size mapping table which uses LRU caching. Adjusted CMakeLists for the new files.