s3-mdssvc: add query state SLQ_STATE_FULL

Add state SLQ_STATE_FULL that marks a query that has accumulated a
compile time default maximum number of results.

This is needed for implementing proper query resource deallocation:

in the query states SLQ_STATE_FULL and SLQ_STATE_DONE we can
immediately call talloc_free() on a query handle, because we know that
there are no pending Tracker async operations in flight.

In states SLQ_STATE_RUNNING or SLQ_STATE_RESULTS however there *are*
async Tracker cursor operation in flight, so we can only mark a query
as finished/done in slrpc_close_query() and move resource deallocation
to the tracker_cursor_cb() function.

Now as the glib cursor object can't be freed in tracker_cursor_cb(),
we must implement a tevent request based deallocation mechanism.

Signed-off-by: Ralph Boehme <rb@sernet.de>