[qtcontacts-sqlite] Relax permissions on created semaphores

Previously, only the uid of the process which first created the
semaphore could commit changes to the database.  This commit ensures
that any uid can do so, by relaxing the mode specified when creating
the semaphore.

Note that access to the database itself is still restricted according
to the filesystem permissions.
Merge pull request #139 from chriadam/orwsemarr

[qtcontacts-sqlite] Relax permissions on created semaphores
Bump version
[qtcontacts-sqlite] Make ContactsDatabase a proper class
[qtcontacts-sqlite] Move properties into database class
[qtcontacts-sqlite] Keep SQL statements local with the code that executes them

Cache prepared statements by hash of their text, in order that
statements can be prepared at first use rather than as pre-created
member variable.  This allows us to keep the text of the SQL together
with the code that populates the bindings.
Merge pull request #140 from matthewvogt/localize-prepared-statements

Localize prepared statements
[qtcontacts-sqlite] Mangle detail URIs after aggregate ID is allocated

Aggregate contacts contain mangled versions of the detail URIs in the
details they aggregate, in order to prevent clashes with the same URIs
in constituent contacts.  These URIs should only mangled after the
aggregate ID is allocated, so they can safely contain that ID.
Remove some unnecessary template bloat
Merge pull request #141 from matthewvogt/detail-uri-mangling

[qtcontacts-sqlite] Mangle detail URIs after aggregate ID is allocated
[qtcontacts-sqlite] Skip invalid alphabetic characters in phone numbers

Alphabetic characters in the DMTF character set are only valid if they
occur after some numeric component of the number.  If they occur
prior to any numeric component, they should be skipped in normalization.

This is to prevent non-number input such as 'Plumber' being normalized
into 'P'.
Merge pull request #142 from matthewvogt/invalid-alpha-chars

[qtcontacts-sqlite] Skip invalid alphabetic characters in phone numbers
Update exported pkgconfig version
[qtcontacts-sqlite] Allow '+' in DTMF section when validating phone number

Also add unit tests for phone numebr validation.
Merge pull request #143 from matthewvogt/phone-validation

[qtcontacts-sqlite] Allow '+' in DTMF section when validating phone number
[qtcontacts-sqlite] Correct self-contact removal prevention

The previous check was non-functional.
Merge pull request #145 from matthewvogt/self-contact-check

[qtcontacts-sqlite] Correct self-contact removal prevention