UpdateGlue: let the update thread run at "idle" priority

The update thread should not affect the rest of the system, therefore
set "idle" priority, and let it only run when nobody else is using the
resources.
OutputThread: use real-time priority
db/upnp/WorkQueue: remove unused statistics
db/upnp/WorkQueue: remove unused "szp" parameter from take()
db/upnp/WorkQueue: remove unused method qsize()
db/upnp/WorkQueue: pass reference to take()
db/upnp/WorkQueue: rename attributes
db/upnp/WorkQueue: use std::list instead of std::unordered_map

Reduce bloat.
db/upnp/WorkQueue: use array instead of std::list

Reduce bloat further.
db/upnp/WorkQueue: remove unused method waitIdle()

Contrary to setTerminateAndWait()'s documentation, the method does
wait for worker threads to exit via pthread_join().
db/upnp/WorkQueue: remove unnecessary "waiting" attributes
db/upnp/WorkQueue: include cleanup
db/upnp/WorkQueue: remove redundant n_workers_exited check from IsOK()
db/upnp/WorkQueue: remove IsOK() check from put()

Not necessary, not worth the check.
db/upnp/WorkQueue: initialize "ok" to false, eliminate redundant checks
db/upnp/WorkQueue: remove unused attributes "high", "low"
db/upnp: don't sanitize the title tag

We need this only for path names.
db/upnp: pass std::string to titleToPathElt()
db/upnp: use std::replace() in titleToPath()
db/upnp/Object: add attribute "name"

Call titleToPathElt() only once for each object.