New weather backend for Forecast.io (fixes #24 and #15)

This adds a new weather backend for Forecast.io. Since Forecast requires latitude and longitude, a geocoder is added to Location and geocoded locations are permanently cached.

Because of the way the weather backend works, this also fixes #15 because Forecast automatically returns day/night icons.