Refactor `main.c`
Use a struct to represent preferences
Separate weather, preference, and device logic
Use `PersistKey` enum to identify persist keys
Send saved weather update frequency to JS app

While this didn't actually affect the Pebble saving, loading, or setting the update frequency, it would always reset the setting in the UI
Convert temperature on Pebble instead of in JS app

Also, the JS app will no longer request preferences; the Pebble will just send them (currently only on boot, but ideally on Bluetooth reconnect as well)
Remove unused preference request code
Add weather caching
Remove geolocation watching

Because of the API rate limiting, this had literally no effect anyway
Merge branch 'master' of github.com:kylewlacy/futura-weather-redux
Update version number