Improve delete handling code.

Change-Id: I3f09f00a2966ee246056ea11ec55d952da6aabc0
Drop blacklist number uniqueness constraint.

It's very hard to deal with that constraint in practise, so drop the
contraint from the DB and handle potential duplicate rows when querying.

Change-Id: Id28a415ba80cf100879b24de88b4b50638e900ca
Properly handle alphanumeric 'numbers'.

Change-Id: I326198c19bb567846d09f8bb8c293a024c830296
JIRA:CYAN-3234
telephonyprovider: Add blacklist provider permission

Change-Id: I000edc9622528bde797db6548ea54041362eb4fd
JIRA: CYAN-3727
Issue: https://jira.cyanogenmod.org/browse/CYAN-3727
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
blacklist: normalize phone numbers to E164 standard

Normalize to standard E164 with country support should perform better phone number matches.
xe: The brazilian user (country code +55) saves 6792928089 as blacklisted phone, but when
he receives a call from +556792928089 the blacklist provider doesn't match the number,
but both are the same number. Using E164, combined with SimCountryIso or LocaleCountryIso,
6792928089 will be stored as +556792928089, and during quering the provider the same format
will be applied for the incoming intent phone number, which will lead to a proper match.

Change-Id: I80c8330bfe3a13dca27557f795ee04781248f1a1
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Enforce convertability to a valid E164 number on insert or update.

Change-Id: I70d2bbf07be653f1524215557fc70dd92ee42894
blacklist: relax phone normalization

The current E164 is too strict for some valid phone numbers and for regexp numbers. Just
relax that validation a bit while preserve some extra checks for invalid numbers.

JIRA: CYAN-5324
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>

Change-Id: I4783d8c31e28dc50c3dcc69982c81ecd9a0b3d36