TrackerDecorator: Make _prepend_ids and _delete_ids singular

It is easier to pass ids one by one instead of creating a GArray.
Also it will be needed when passing more info about the id in
upcoming commit.

https://bugzilla.gnome.org/show_bug.cgi?id=719802
TrackerDecorator: Avoid code duplication

query_append_rdf_type_filter() was copy/pasted in 2 modules,
better share one internal function.

https://bugzilla.gnome.org/show_bug.cgi?id=719802
TrackerDecorator: Fix a compilator warning

gcc was thinking that strings could be used uninitialized.
This fix the warning and simplify the code using a GPtrArray
which is more natural for string arrays.

https://bugzilla.gnome.org/show_bug.cgi?id=719802
tracker_decorator_next(): Queue tasks when a query is needed

This avoid double query when calling tracker_decorator_next()
multiple times consecutively.

https://bugzilla.gnome.org/show_bug.cgi?id=719802
TrackerDecoratorInfo: register as boxed type

Introspection needs a boxed type to work. Also this fix ref-counting issue,
tracker_decorator_next_finish() returns the ref but caller couldn't unref it
because the unref function wasn't public. The other solution would be to make
_next_finish() transfer none and remove the destroy func in
g_task_return_pointer(), but that's unusual for finish functions.

https://bugzilla.gnome.org/show_bug.cgi?id=719802