Refactor setting threadname on POSIX systems

* setting threadname is now done in a seperate function
* if setting the threadname fails, it just prints a warning now
  instead of terminating the game with a FatalError
change threadnames so they fit into 15chars

+ terminating null byte - that's the limit of threadnames on linux

Furthermore: idJobThread::Start used va() to create the threadname.
va() isn't threadsafe... so I replaced it with a local buffer and
idStr::snPrintf()