Account: make code flow more logical

The AgAccountChanges pointer was been set to 0 just before an "if"
statement which could cause the functions to return. It looked like the
AgAccountChanges structure could be leaked in this case, even if in fact
the return statement could be hit only if AgAccountChanges was already
NULL.
However, let's make the code more obvious and robust against future
changes.
Move more of the store implementation to ag-manager.c

This will make it easier to provide an alternative implementation (using
D-Bus) for read-only databases.
Abort the store operation immediately if there are no changes

This is actually what the _ag_account_get_store_sql() internally does,
but there's no need to invoke it in order to find out that there are no
changes.
Tests: common code to delete the DB and set it readonly
Deliver store events to D-Bus Account Manager when DB is R/O

Define a new D-Bus interface consisting of a single store() method which
will be called when an applications is attempting to store data on a
read-only database. This interface can be implemented by an external
process which could perform the store operation, provided that it has
write access to the database.
If the Account Manager service is not existing, then the old behaviour
is preserved: calling store() on a read-only database will return an
error.
Tests: remove double unref of service

The end_test() function already unreferences the account, manager and
service variables, if they are found to be not NULL.
Tests: provide an easy way to run the tests under valgrind

Tests can be run like this:

  make check WRAPPER="valgrind --leak-check=full"
AgAccount: do not leak the AgService

This fixes a memory leak happening when the AgAccountChanges data structure
was created out of an incoming D-Bus message: the AgService created by
_ag_manager_get_service_lazy() would have been leaked.
ag_account_set_value(): don't leak the temporary GVariant

GVariants created with g_dbus_gvalue_to_gvariant() are never floating,
so need to be unreferenced after being used.
AgAuthData: fix uninitialized variable

Looks like we have been really lucky so far.
Fix a couple of memory leaks involving GVariant

Most of these are trivial to check. The change to g_variant_take_ref()
is needed because we want the final reference count of the Gvariant to
be 1, and from parse_param() we get either a floating GVariant or a
GVariant with reference count set to 1. The latter was causing a memory
leak when g_variant_ref_sink() was being used (it would bring the count
to 2).
AgManager: also free the processed signals list contents

We were freeing the GList containers, but the actual list data was being
leaked.
AgProvider: don't leak plugin name and settings
Tests: fix all memory leaks detected by valgrind
Version 1.16
Merge from upstream
New upstream release

  - Deliver store events to D-Bus Account Manager when DB is R/O
  - Fix all memory leaks reported by valgrind
  - Allow running the test suite in a wrapper program such as gdb and
    valgrind
Install DBus interface file
Depend on libtool-bin
New upstream release
* Deliver store events to D-Bus Account Manager when DB is R/O
* Fix all memory leaks reported by valgrind
* Allow running the test suite in a wrapper program such as gdb and valgrind
.

Approved by PS Jenkins bot, Ken VanDine.