[qtcontacts-sqlite] Use lightweight aggregation relationship codepath

Previously, the "heavy" save relationships codepath was taken when
creating a new "Aggregates" relationship for a newly created contact.
In that case, the details from the new constituent had already been
promoted to the aggregate, so no regeneration is required.
In this case we gain an order of magnitude performance improvement
by simply creating the relationship via a direct query instead.

This commit also adds some useful benchmarks to the fetchtimes test.
Merge pull request #36 from chriadam/createcontactperf

[qtcontacts-sqlite] Use lightweight aggregation relationship codepath
[qtcontacts-sqlite] Allow tables to be extended without disruption

Allow columns to be added to existing tables without disrupting the
data already present in the database.
[qtcontacts-sqlite] Store address filtering metadata in the Contacts table

We need this data for filtering of contacts by address type, and it
is better to keep it in the primary table for partial data access.