functional-tests: Add await_property_changed() method

This allows detecting when a file move has been done, and probably other
useful things too.
functional-tests: Many fixes to 3xx-miner tests

All 3xx tests should now pass except 2 of the 310-fts-indexing tests.
functional-tests: Improve stopping of child processes

Instead of using `tracker daemon --kill=miners` to stop the miners, use
the Python 'subprocess' module. This ensures only the correct miner
process gets killed if more than one is running. (I also found that
`tracker daemon --kill-miners` was hanging my system, which was the real
motivation for fixing this, but I have no idea why that happened).

If a process fails to terminate after we sent it TERM, it now gets sent
KILL. Previously the test would wait forever.
functional-tests: Isolate 3xx-miner tests from each other

Rather than running all the tests in one environment, create a new
environment for each test. Although it's slower this way, it's just too
hard to debug test failures when the tests can interfere with each
other.

I also made them all use the same 'minertest' base class.
Fix max_depth parameter causing contents of a directory to be ignored

Since commit 41e6ab84e7a540b20f8173c2bbaee11de6ef381f, the contents of
directories listed in 'index-single-directories' is be ignored. The
directory itself appears in the store but the contents do not.

The intention of passing max_depth=1 if TRACKER_DIRECTORY_FLAG_RECURSE
is false must be to prevent unnecessarily processing any subdirectory
nodes that are hanging around in the TrackerFileSystem. However, the
documentation of g_node_traverse says:

    "If depth is 1, only the root is visited. If depth is 2, the root
    and its children are visited. And so on."

Thus, we must pass max_depth+1 to the tracker_file_system_traverse()
function so that the files in the directory are processed as well as
the directory itself.

See also: 243c97fa96a2f6b19bce1acf26946d1a516a0a1c which introduced the
'max_depth' parameter as a way of reducing the number of GFile objects
in memory at the same time during crawling.
Merge branch 'sam/functional-test-30x-fixes'