functional-tests: Make Helper use the same mainloop as the test

Previously a new mainloop was spawned for each DBus call, causing the
DBus session to live on after each test, causing the tests to eventually
fail due to file descriptor exhaustion
functional-tests: Don't treat commas in URI:s as multivalues

Old behavior meant URIs could not be used in expectation files, since
they were incorrectly parsed as multiple values if commas were present
in the URIs. Comma is a valid character in Tracker URIs.
functional-tests: Allow walking arbitrary directories for expectation
files
functional-tests: Expectation generator; add support for audio properties: ivi:trackname, ivi:trackartist, ivi:trackalbum, ivi:trackgenre, ivi:tracktracknumber, ivi:trackcreated