[qtcontacts-sqlite] Fix extended upgrade sequence fault

If we create a table in an upgrade statement, and subsequently alter
the same table in a later upgrade statement, the definition of the
table created in the earlier upgrade must be altered to match the
original version. Otherwise, an extended upgrade process will create
the final version of the table and then subsequently fail when the
alteration is attempted.
[qtcontacts-sqlite] Remove partial name matching

Previously we would automatically aggregate contacts under various
conditions where the last name was a match, and there was a partial
match between the first name values.  This has now been removed, as
it produces more false positive matches in some locales than initially
expected.
Merge pull request #169 from matthewvogt/remove-auto-partial-match

[qtcontacts-sqlite] Remove partial name matching
[qtcontacts-sqlite] Sort according to current locale

Use ICU collation to sort by the current locale's ordering, on fields
used for visual display.
Merge pull request #171 from matthewvogt/localized-sort

[qtcontacts-sqlite] Sort according to current locale
[qtcontacts-sqlite] Alter schema for improved query speed

SQLite generates better query plans using a simplified schema, where
the specific detail tables can be joined to the primary Details table
using only their corresponding rowid columns.

This commit contains only the schema changes, a following commit
provides the script to migrate from old to new schema.
[qtcontacts-sqlite] Migrate existing databases to updated schema

Includes renaming the TpMetadata table to the correct name.