Improve weather retrieval code.

- add weather provider abstraction
- centralize yahoo specific bits at one place
- switch to parsing JSON instead of XML
- switch to using places instead of placefinder, which allows localized
  city names and custom location selection

Change-Id: I5acfa084fda5024bd1af940a866fcdf77ef2895a
Avoid NPE when closing custom location dialog.

Also factor out custom location preference handling to own class to
make it a little easier to implement.

Change-Id: I081997c1ece13789ca908f3e87ebf24a25ce2fd1
Merge "Improve weather retrieval code." into cm-10.2
Merge "Avoid NPE when closing custom location dialog." into cm-10.2