Rework JS app

Currently doesn't send 'day/night' conditions to Pebble
Add SunCalc to JS app
Add `is_day` calculation based on sunrise and sunset
Don't log empty app messages
Fix config screen preference setting
Tweak `weather_set` and `preferences_set`

Neither has a return type now; when an iterator doesn't have the desired properties attached, it's considered an "empty diff" (no changes)
Rework JS app to support diffing

Now only sends message properties that have changed. Also, it only gets the user's location if it's going to update the weather now
Remove unused `force_update` variable in `weather_needs_update`
Log persistent storage failures
Increase inbound and outbound buffer sizes
Add `xcshareddata` to gitignore