tests: improve changeset test coverage
tests: improve coverage of D-Bus backends

Add a weird test to hit two additional obscure cases
engine: restructure a bit to improve testability

Don't use the access() system call from the service source because this
bypasses the mocking layer in the testsuite.  Use gvdb_table_new()
instead.  This also avoids an extra syscall.

Also: change a couple of criticals to warnings because they are not
programmer errors.
mock dbus: allow for NULL replies in case of error

But make sure an error is set if NULL is returned and the caller passed
in an error pointer.
tests: fix a trivial error in the engine test

Instead of checking the D-Bus interface name we were checking the
bus name twice.
tests: add test for service db

Add a test to cover the service source backend in the engine.
Suppress GLib deprecation warnings

The testsuite is happily using g_test_trap_fork() and dconf only builds
on POSIX anyway, so this isn't a problem.

Add version macros to the top of the testcases that use this API to
suppress the deprecation warnings.