Use TrackerDirectConnection thread pool for statement queries
From the main commit:
direct: Use TrackerDirectConnection thread pool for statement queries
These were just using g_task_run_in_thread(), but that may bring issues
near shutdown, since we do not control those threads for orderly closing
the database interfaces. This could be sometimes seen with the cryptic:
g_mutex_clear() called on uninitialised or locked mutex
error on shutdown in some tests. Use the same thread pool than other
queries, to ensure all activity is settled down at the time of closing a
TrackerSparqlConnection.
Also, the last commit drops some unnecessary mutex locking in query paths.