libtracker-data: Don't rely on hash table iteration order being stable
This is the same problem that was fixed by c58f7aa4 on master. Instead of relying on hash table iteration being stable, pass the GVariantBuilder down and add directly to it in the right order.
Feel free to close this if you don't want to merge it. I mainly wanted to share the fix just in case you did, or if it's useful to anyone else. It fixes running 2.1.x on GLib 2.59 (this is exposed by the testsuite).