Feature: Add f_thread_name_set() and f_thread_name_get().
These provide support for `pthread_setname_np()` and `pthread_getname_np(0)` respectively.
These pthread functions are not portable so provide the following variables to gracefully disable the calls:
- `_pthread_setname_np_unsupported_`
- `_pthread_getname_np_unsupported_`
The newly added functions return `F_implement_not` when these unsupported defines are set.
This allows for programs that call these to not really care if the thread naming support is present.
They can call the function and if it works, then it works and if it doesn't work, then it doesn't work.