Set tasks priority even if real-time scheduling is not available
Set errno to ENOMEM when internal_malloc fails in smMemAlloc()

OK matthieu@
Return 'Unknown error' instead of 'OK' when errno == 0 in h2getErrMsg

OK matthieu@
Revert "Set tasks priority even if real-time scheduling is not available"

This reverts commit 75bc9a5a2e7179808a50d29aac6cd6e897627f4b that was pushed by
mistake.
Replace an unsafe strncpy by a snprintf in h2getErrMsg()

Spotted by adegroot@, thanks!
On error, cleanup partially allocated objects in mboxCreate() and gcomInit()
Make gcomEnd() robust to a call before any successful gcomInit()

If gcomInit() has never been called successfully, no letters have been
allocated yet. Make sure that gcomEnd() do not try to free those unallocated
letters.
Make mboxEnd() robust to a call before any successful mboxInit()

Change the way the "task device" is retrieved in mboxEnd(), so that if this
function is called before any successful mboxInit() it will not abort() badly
but return a S_mboxLib_NOT_OWNER instead.