[nemo-qml-plugin-contacts] Improved contact matching

Use all relevant name tokens, as well as metadata values in contact
filter matching.

Also, regenerate the keys if the contact is modified.