DeskClock: User-defined world cities

Support for add user-defined cities to the world clock

Patchset 2: Added GPS query
Patchset 3: Added GPS drawables
            Call requestGpsLocation in background
Patchset 4: Added timezone resolution through Google Api
            Added Marco suggestions
            Rebased
Patchset 5: Remove trailing whitespaces
Patchset 6: Moved cm strings to the end of the file
            Rebased
Patchset 7: Export DbCityProvider. Enforce write permission to DeskClock only
Patchset 8: Fix FC when there is no default timezone
            Add content description to GPS button
            Don't create a new city record of city name + city tz already exists
Patchset 9: Rebased
Patchset 10: Rebased (Moved string to cm_string)
Patchset 11: Cleanup
Patchset 12: Use localized time zone names
Patchset 13: Fix online timezone lookup
Patchset 14: CleanUp. Save dialog state
Patchset 15: Kill of async tasks when closing dialog

Change-Id: Ibb6febc674ca536728367588437fbdacaa437ff3
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
DeskClock: Add an option to switch profile

This change creates a new setting for the alarm, that allows to associate
a profile with an alarm, and change to this profile when the alarm triggers.

Patchset 2: Added Danny's suggestions
Patchset 3: Cleanup

Requires http://review.cyanogenmod.org/#/c/38224

Change-Id: Ie2be32fc1ce4c7087eea87a3e289a38e85d3de7e
JIRA: CYAN-210
Issue: https://jira.cyanogenmod.org/browse/CYAN-210
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>