threadLocal: Cleanup thread local storage

We keep some data in thread local storage, but never clean up. This can
lead to using stale data when handling many requests in the same tread,
or to temporary leak, when a long running thread holds a reference to a
finished task, preventing garbage collection of anything referenced from
the task.

This patch ensures that anything we set thread local storage is cleaned
up when not needed.

Change-Id: I97b110db1c5f94e8561b4ba15a3c27b43043ed6f
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/24309
Reviewed-by: Adam Litke <alitke@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>