Dialer: Nearby places and reverse lookup improvements

* ContentProvider for cached places
* Add support for contact images
* PlaceUtil: wrapper for interface methods, with automatical caching
* Place: add properties for address, email and website
* Use Geocoder (if available) to find missing locations or addresses

Providers:
* OpenStreetMap: improve query
* OpenStreetMap: add support for address, email and website
* OpenStreetMap: search for ways and areas (fix for OMNI-558)
* Google: new provider (forward lookup)
* Ch (search.ch): add support for address, email and website
* De (DasOertliche.de): new provider (supports address, email, website and contact image)
* Fr (RechercheInverse.com): add support for address
* Us (WhitePages.com): add support for address

Nearby places:
* show distance in result list
* sort entries by distance
* click on photo to see details
* Privacy: add some noise to the exact location (+- 1km)
* move functionality to PlaceUtil (trying to make as little changes to AOSP code as possible)

Reverse lookup:
* Some carriers send the phone number without country code
  -> Convert the number in e164 format in SearchChApi
* change API method to getNamedPlaceByNumber(PhoneNumber phoneNumber)
* Call Log: support for reverse lookup
* Save place with all details to contacts
* Privacy: cache unsuccessful lookups as well

Change-Id: Ib8e39feb7b16241c170696112b46589ca79f3dd2
Merge pull request #1 from omnirom/android-4.4

Dialer: Nearby places and reverse lookup improvements