New weather backend for Forecast.io

This adds a new weather backend for Forecast.io (fixes #24). 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.