core:queue: clean up queue

This PR adds the new type `queue_t` for the root of a priority queue.
This scrapes `sizeof (unsigned int) + sizeof (uint32_t)` bytes from **`tcb_t`**, **`mutex_t`**, `pthread_cond_t`, `pthread_rwlock_t`, `sem_t`, and possibly more types.

Also this PR removes some unused generic functions. `queue_priority_add_generic()`, `queue_add_tail()` and `queue_add_head()` just don't fit the current implementation.

I did not add an addition test, because the queue is heavy used in `test_thread_msg*`, `test_pthread_rwlock`, `test_posix_semaphore`, and `test_mutex_unlock_and_sleep`. I had no findings in `make term-valgrind` for these tests.
Seems quite unrelated - and instead of removing we could put that in some msp specific headers.